安装Docker
开机自启动
-- centos 6
service docker start
chkconfig docker on
--CentOS7 新式 systemd 语法
systemctl start docker.service
systemctl enable docker.service
Docker运行CentOS系统
[root@localhost ~]# docker run -i -t centos /bin/bash
[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.04 , docker 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和端口号
其余
docker attach <CONTAINER_ID> 链接到启动的容器
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
删除安装包
$ sudo yum -y remove docker-engine.x86_64
删除镜像/容器等