Docker 命令操作手册,方便查询使用。
运行
docker run
–name 指定容器名
-p 指定端口映射
-v 挂载数据卷或者本地目录映射 :ro 挂载为只读
-d 后台持续运行
-i 交互式操作
-t 终端
-rm 容器退出后随之将其删除(与-d 冲突)
eg:
1 2 3 4
| docker run --name ghost1 -p 80:2368 -v /c/Dev/server/blogtest2:/var/lib/ghost ghost docker run -it --rm ubuntu:14.04 bash docker run ubuntu:14.04 /bin/echo 'Hello world' docker run --name webserver -d -p 80:80 nginx
|
管理容器
1 2 3 4 5 6 7 8 9 10 11
| docker ps 列出正在运行的容器 docker kill $(docker ps -q) 停止所有正在运行的容器 docker ps -a 查看所有容器,包括运行和停止的 docker start 启动一个已有容器 docker stop 终止一个运行中的容器 docker restart 重启某个容器 docker rm xxxx 删除容器 -f 删除运行中的 docker rm $(docker ps -a -q) 删除所有终止的容器 docker logs [container id or names] 获取输出log -f 实时打印日志 docker diff 容器名 查看我们定制以及修改 docker volume ls 列出所有本机的数据卷
|
管理镜像
1 2 3 4 5 6 7 8 9
| docker pull [option] [url] 获取镜像, 例如: docker pull ubuntu:14.04 docker images 列出本地镜像 docker build -t nginx:v3 . 在当前目录构建镜像,-t 是指定镜像名称 tag docker rmi xxxxxx 删除本地镜像 docker commit 选项 容器名/id 仓库名 tag :可以把修改定制过的容器保存为镜像 docker images -f dangling=true 列出所有虚悬镜像(dangling image) docker rmi $(docker images -q -f dangling=true) 删除所有虚悬镜像 docker histroy 镜像名:标签 查看镜像修改的历史纪录
|
查询单个容器详细信息
可以看到容器的完整ID、运行状态、网络设置、镜像等信息。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| [root@VM_25_5_centos ~]# docker inspect splash [ { "Id": "b5a387e5f9064113e48c06384be045675e12047c7ef5564f76ae8bf0c7f95304", "Created": "2017-04-05T04:49:40.025249222Z", "Path": "python3", .... "State": { "Status": "running", "Running": true, "Networks": { "bridge": { "IPAMConfig": null, "Links": null, "Aliases": null, "NetworkID": "b3063867b30c820bb92ee198edad8d5cb8974135d0490e956d3646364ccca711", "EndpointID": "979a8d0bbfde532c45dfbf97bab3c2d874100b4ca448a460b81904709260eb3b", "Gateway": "172.17.0.1", "IPAddress": "172.17.0.3", "IPPrefixLen": 16, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:ac:11:00:03" } } } } ]
|
查询日志
1 2
| [root@VM_25_5_centos ~]# docker logs splash 2017-04-10 12:32:49.050352 [-] "101.226.66.173" - - [10/Apr/2017:12:32:48 +0000] "GET /4e5e5d7364f443e28fbf0d3ae744a59a HTTP/1.1" 404 153 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36"
|
实时打印日志
加上-f参数
1 2
| [root@VM_25_5_centos ~]# docker logs -f splash 2017-04-10 12:32:49.050352 [-] "101.226.66.173" - - [10/Apr/2017:12:32:48 +0000] "GET /4e5e5d7364f443e28fbf0d3ae744a59a HTTP/1.1" 404 153 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36"
|
查看容器所占用的系统资源
如CPU使用率、内存、网络和磁盘开销。
1 2 3 4
| [root@VM_25_5_centos ~]# docker stats splash
CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS splash 0.04% 230.5 MiB / 7.64 GiB 2.95% 50.7 MB / 33.77 MB 547.9 MB / 131.1 kB 7
|
查看容器使用了哪些进程
1 2 3 4 5
| [root@VM_25_5_centos ~]# docker exec api1 ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.3 125480 25136 ? Ss+ Mar31 0:00 python ./manage.py runserver 0.0.0.0:8000 root 6 0.9 0.8 747960 64664 ? Sl+ Mar31 139:37 /usr/local/bin/python ./manage.py runserver 0.0.0.0:8000 root 886 0.0 0.0 19180 1300 ? Rs 16:56 0:00 ps aux
|
转移Docker的数据目录到大的磁盘分区上
1 2 3 4 5
| service docker stop mkdir /data/dockerData/ mv /var/lib/docker /data/dockerData/ ln -s /data/dockerData/docker /var/lib/docker service docker start
|
centos7 安装docker
1 2
| rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm yum -y install docker-io
|
可通过以下命令启动 Docker 服务:
1 2
| service docker start chkconfig docker on # 设置开机启动
|
可使用以下命令,查看 Docker 是否安装成功:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| [root@localhost ~]# docker version Client: Version: 1.12.6 API version: 1.24 Package version: docker-1.12.6-32.git88a4867.el7.centos.x86_64 Go version: go1.7.4 Git commit: 88a4867/1.12.6 Built: Mon Jul 3 16:02:02 2017 OS/Arch: linux/amd64
Server: Version: 1.12.6 API version: 1.24 Package version: docker-1.12.6-32.git88a4867.el7.centos.x86_64 Go version: go1.7.4 Git commit: 88a4867/1.12.6 Built: Mon Jul 3 16:02:02 2017 OS/Arch: linux/amd64
|
centos7 卸载docker
1 2 3 4 5 6 7 8 9
| [root@localhost ~]# yum list installed | grep docker docker.x86_64 2:1.12.6-28.git1398f24.el7.centos docker.x86_64 2:1.12.6-32.git88a4867.el7.centos docker-client.x86_64 2:1.12.6-28.git1398f24.el7.centos docker-client.x86_64 2:1.12.6-32.git88a4867.el7.centos docker-common.x86_64 2:1.12.6-28.git1398f24.el7.centos docker-common.x86_64 2:1.12.6-32.git88a4867.el7.centos [root@localhost ~]# yum -y remove docker.x86_64 [root@localhost ~]# yum -y remove docker-common.x86_64
|
docker网络
命令
1 2 3 4 5 6
| docker network create docker network connect docker network ls docker network rm docker network disconnect docker network inspect
|
参考:Docker network命令详解