docker

 

一、安装

1.1 安装

docker现在分为社区版和企业版

  Ubuntu下的安装:apt-get install docker.ce |  docker.ee

  ce就是社区版本

  ee就是企业版本需要付费使用

  io是以前的老版本

我们就使用社区版本或者以前的版本就好了

agt-get install docker.io

1.2 查看信息

docker version
docker info

1.3 查询镜像

docker search 《linux名字》

带有officetal 可以放心的使用

1.4 获取镜像

根据上一步得到的名字进行下载镜像

docker pull centos

因为docker hub的网站在国外,下载速度很慢 ,我们可以使用国内的镜像站,这样以后速度就变得很快了

vi /etc/docker/daemon.json#默认文件是不存在
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

二、使用

2.1 查看本地镜像

上面在docker hub获取的各种镜像,使用下面命令可以看到

docker images

2.2 镜像的使用

2.2.1 以交互的模式运行镜像

参数:

  -i    交互式运行

  -t   启动一个终端

docker run -it centos /bin/bash

 

2.2.2 后台运行docker

参数:

  -d   Detached  mode 分离模式,在后台运行

docker run -d centos /bin/bash

2.2.3 查看docker状态

docker ps         正在运行的容器
docker ps -a     所有的docker

2.2.4 进入正在运行的docker

id 根据 docker ps 查看

docker exec -it <id> /bin/bash

2.2.5 创建权限为最高的容器 

默认的容器创建起来,其权限并不是真正有root权限的,需要在run后面加上一个参数 --prileage。这样就拥有了最高权限了。

 docker run -d --privileged  --net none --name centos7 f7d3e902e9bd /bin/bash

 

2.3 容器的管理

2.3.1 启动、停止、重启

docker start    <id>
docker stop     <id>
docker restart <id>
    id根据docker ps -a查看
docker kill   <id>
  和stop的区别,kill是强制杀死。stop 发送一个信号,让容器自己执行,保护一些进程,当一定时间内不停止就kill -9

2.3.2 删除容器

docker rm <contain id> <contain id>
docker rm -f <contain id> 强制删除,不管是否在运行

 三、制作image的两种方法

方法一:docker commit  保存container状态到image后,然后生成对应的镜像

方法二:docker build      使用dockerfile自动化制作image

3.1 commit 制作镜像

1.运行一个容器 并安装一个软件
    docker run -it centos /bin/bash 
    yum install nmap-ncat -y
          查询是否安装成功:
                 rpm -qa nmap-ncat  
2. 根据容器当前的状态,制作一个image
    语法:docker commit <id>  <centos:tag>
    sudo docker commit b18cbebf1749 centos:nmap-ncat

查看下多了一个镜像:

运行新镜像并查看是否安装了nmap

dell@djz:~$ sudo docker run -it centos:nmap-ncat /bin/bash
[root@42ed7a682638 /]# rpm -qa nmap-ncat
nmap-ncat-6.40-7.el7.x86_64

3.2 docker bulid制作方法

1.在本地创建工作目录
    mkdir /dockerbuild
    cd /dockerbuild
    touch Dockerfile

2.编辑Dockerfile文件
  dockerfile用来创建一个自定义的image,包含了用户指定的软件依赖。
    FROM centos
    MAINTAINER userabc <userabc@qq.com>
    RUN yum -y install httpd
    ADD start.sh /user/local/bin/start.sh
    ADD index.html /var/www/html/index.html
#ADD是将文件《src》拷贝到容器的文件系统里面去
  所有拷贝进去的文件权限是0755,uid与gid都为0

 创建脚本文件与web页面

echo "/usr/sbin/httpd -DFORGEROUND" >start.sh
chmod a+x start.sh
echo "docker image build test" > index.hetml

最后一步在当前的路径下执行命令:

docker build -t centos:httpd .

3.3 docker image发布

3.3.1 方法1 save imag To Tarball

语法:docker save -o 导出的镜像名.tar  本地的镜像名 

docker save -o centos:nmap-ncat-docker-imag.tar centos:nmap-ncat

在本路径下 ls 就能看到
后期使用
   docker load -i 镜像名字。tar

3.3.2 导出到外网上的docker hub上

 

 四、网络模式

4.1  独立IP

使用pipwork来指定工作:

ifconfig br0 192.168.1.254
pipework br0 -i eth0 65f2d9157ba1 192.168.1.231/24@192.168.1.1

 

五、工作案列

  dell服务器,部署docker,使用桥接模式,这样就可以复用docker了“

 

posted @ 2018-03-25 11:55  娄先生  阅读(218)  评论(0编辑  收藏  举报
levels of contents