安装Docker



yum install docker






1





 





1



yum install docker






开机自启动



-- centos 6
service docker start
chkconfig docker on

--CentOS7 新式 systemd 语法
systemctl  start docker.service
systemctl  enable docker.service






7





 





1



-- centos 6



2



service docker start



3



chkconfig docker on



4




5



--CentOS7 新式 systemd 语法



6



systemctl  start docker.service



7



systemctl  enable docker.service





Docker运行CentOS系统



[root@localhost ~]# docker run -i -t centos /bin/bash
[root@dbf66395436d /]#






2





 





1



[root@localhost ~]# docker run -i -t centos /bin/bash



2



[root@dbf66395436d /]#





CentOS 容器已经被启动,并且我们得到了 bash 提示符。



在 docker 命令中我们使用了 “-i 捕获标准输入输出”和 “-t 分配一个终端或控制台”选项。



若要断开与容器的连接,输入 exit。



通用指定



操作

命令

示例

查看 docker 版本

docker version

docker version

查看 docker 信息

docker info

docker info

查看某命令 help 信息

docker help [command]

docker help attach

查看 docker help 信息

docker --help

docker --help



Container相关指令



其中 可以通过 docker images 获取相关信息



操作

命令

示例

创建 container

docker create

docker create chenhengjie123/xwalkdriver

创建并运行 container

docker run

docker run chenhengjie123/xwalkdriver /bin/bash

创建并运行 container 后进入其 bash 控制台

docker run -t -i image /bin/bash

docker run -t -i ubuntu /bin/bash

创建并运行 container 并让其在后台运行,并端口映射

docker run -p [port in container]:[port in physical system] -d [image] [command]

docker run -p 5000:5000 -d training/webapp python app.py

查看正在运行的所有 container 信息

docker ps

docker ps

查看最后创建的 container

docker ps -l

docker ps -l

查看所有 container ,包括正在运行和已经关闭的

docker ps -a

docker ps -a

输出指定 container 的 stdout 信息(用来看 log ,效果和 tail -f 类似,会实时输出。)

docker logs -f [container]

docker logs -f nostalgic_morse

获取 container 指定端口映射关系

docker port [container] [port]

docker port nostalgic_morse 5000

查看 container 进程列表

docker top [container]

docker top nostalgic_morse

查看 container 详细信息

docker inspect [container]

docker inspect nostalgic_morse

停止 continer

docker stop [container]

docker stop nostalgic_morse

强制停止 container

docker kill [container]

docker kill nostalgic_morse

启动一个已经停止的 container

docker start [container]

docker start nostalgic_morse

重启 container (若 container 处于关闭状态,则直接启动)

docker restart [container]

docker restart nostalgic_morse

删除 container

docker rm [container]

docker rm nostalgic_morse



imgae相关指令



操作

命令

示例

从 container 创建 image(反过来)

docker commit [container] [imageName]

docker commit nostalgic_morse ouruser/sinatra:v2

从 Dockerfile 创建 image

docker build -t [imageName] [pathToFolder]

docker build ouruser/sinatra:v3 .

查看本地所有 image

docker images

docker images

在 registry 中搜索镜像

docker search [query]

docker search ubuntu

从 registry 中获取镜像 (若无指定 tag 名称,则默认使用 latest 这个 tag)

docker pull [imageName]

docker pull ubuntu:14.04docker pull training/webapp

给 image 打 tag

docker tag [imageId] [imageName]

docker tag 5db5f8471261 ouruser/sinatra:devel

把本地 image 上传到 registry 中 (此时会把所有 tag 都上传上去)

docker push [imageName]

docker push ouruser/sinatra

删除本地 image

docker rmi [image]

docker rmi training/sinatra


注意:image 中没有指定 tag 名称的话默认使用 latest 这个 tag 。然而 latest 的含义和 VCS 中的 head 不一样,不是代表最新一个镜像,仅仅是代表 tag 名称为 latest 的镜像。若不存在 tag 名称为 latest 的镜像则会报错。


网络管理



--p <HOT_PORT>:<CONTAINER_PORT>:指定端口号
docker run -P:随机分配端口号
docker run -p 5010:5000:绑定特定端口号(主机的所有网络接口的5010端口均绑定容器的5000端口)
docker run -p 127.0.0.1:5000:5000:绑定主机的特定接口的端口号
docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py:绑定udp端口号
docker port<CONTAINER_ID> 5000:查看容器的5000端口对应本地机器的IP和端口号






6





 





1



--p <HOT_PORT>:<CONTAINER_PORT>:指定端口号



2



docker run -P:随机分配端口号



3



docker run -p 5010:5000:绑定特定端口号(主机的所有网络接口的5010端口均绑定容器的5000端口)



4



docker run -p 127.0.0.1:5000:5000:绑定主机的特定接口的端口号



5



docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py:绑定udp端口号



6



docker port<CONTAINER_ID> 5000:查看容器的5000端口对应本地机器的IP和端口号






其他



docker attach <CONTAINER_ID> 连接到启动的容器
docker logs <CONTAINER_ID>  : 输出容器日志






2





 





1



docker attach <CONTAINER_ID> 连接到启动的容器



2



docker logs <CONTAINER_ID>  : 输出容器日志





卸载docker全部资源



列出你安装过的包



$ yum list installed | grep docker
yum list installed | grep docker
docker-engine.x86_64   1.7.1-1.el7 @/docker-engine-1.7.1-1.el7.x86_64.rpm






3





 





1



$ yum list installed | grep docker



2



yum list installed | grep docker



3



docker-engine.x86_64   1.7.1-1.el7 @/docker-engine-1.7.1-1.el7.x86_64.rpm





删除安装包



$ sudo yum -y remove docker-engine.x86_64






1





 





1



$ sudo yum -y remove docker-engine.x86_64





删除镜像/容器等



$ rm -rf /var/lib/docker






1





 





1



$ rm -rf /var/lib/docker