南宫十六



前言

最近学习了Docker,深感Docker的强大,对Docker常用的子命令做了一下整理,共涉及6类,32个子命令。当然我整理的并不全面,有什么疏漏和错误还请大家指出。像Docker的镜像,仓库,容器等一些概念这里不介绍,网上随便一搜都是写的非常好的精华文。七月的夏天很热,听着窗外难得的下雨声,淅淅沥沥…回到正题

如何安装Docker?请参考上一篇文章(传送门)

总结到了一张脑图上,可以做个参考,查看高清版请点我

docker在线实验 docker实验总结_docker

Docker环境信息

1.docker info
显示Docker系统信息,包括镜像和容器数
示例:



1
docker info

docker在线实验 docker实验总结_docker_02

info

2.docker version
显示Docker版本信息
示例:



1
docker version

docker在线实验 docker实验总结_docker_03

version

容器生命周期管理

1.docker run
创建一个新的容器并运行一个命令



1
docker run [options] IMAGE [COMMAND] [ARG...]

部分常用选项



123456789
-i选项表示使用交互模式,始终保持输入流开放-t选项表示分配一个伪终端,一般两个参数结合时使用-it,即可在容器中利用打开的伪终端进行交互操作-d选项: 后台运行容器,并返回容器ID--name选项可以指定docker run命令启动的容器名字,若无此选项,Docker将为容器随机分配一个名字-c选项:用于给运行在容器中的所有进程分配CPU的shares值,这是一个相对权重,实际的处理速度还与宿主机的CPU相关-m选项:用于限制为容器中所有进程分配的内存总量,以B、K、M、G为单位-v选项:用于挂载一个volume,可以用多个-v参数同时挂载多个volume。volume的格式为[host-dir]:[container-dir]:[rw|ro]-p选项:用于将容器内部端口映射给宿主机的端口,其常见格式为:主机(宿主)端口:容器内部端口-P选项:随机端口映射,容器内部端口随机映射到宿主机的端口

示例1 运行ubuntu容器,并分配一个伪终端:



12
[root@localhost ~]# docker run -it ubuntu:latest /bin/bashroot@6bf6f0202075:/#

docker在线实验 docker实验总结_Docker_04

run1

示例2 后台运行ubuntu容器,并返回该容器ID:



12
[root@localhost ~]# docker run -i -d ubuntu:latest9f4b85a405e9d655c8f57c04275d771d36e9908afc4b1e04598b54e676407d36

docker在线实验 docker实验总结_Docker_05

run2

2.docker start
启动一个或多个已经被停止的容器



1
docker start [OPTIONS] CONTAINER [CONTAINER...]

示例:



12
[root@localhost ~]# docker start 9f4b85a405e99f4b85a405e9

docker在线实验 docker实验总结_Docker_06

start

3.docker stop
停止一个运行中的容器



1
docker stop [OPTIONS] CONTAINER [CONTAINER...]

示例:



12
[root@localhost ~]# docker stop 9f4b85a405e99f4b85a405e9

docker在线实验 docker实验总结_5e_07

stop

4.docker restart
重启容器



1
docker restart [OPTIONS] CONTAINER [CONTAINER...]

示例:



12
[root@localhost ~]# docker restart 9f4b85a405e99f4b85a405e9

docker在线实验 docker实验总结_5e_08

restart

5.docker rm
删除一个或多少容器



12345
docker rm [OPTIONS] CONTAINER [CONTAINER...]-f :通过SIGKILL信号强制删除一个运行中的容器-l :移除容器间的网络连接,而非容器本身-v :-v 删除与容器关联的卷

示例:



12
[root@localhost ~]# docker rm -f 5198ec963e435198ec963e43

docker在线实验 docker实验总结_Docker_09

rm

6.docker kill
kill命令的作用是杀掉一个运行中的容器



12
docker kill [OPTIONS] CONTAINER [CONTAINER...]-s :向容器发送一个信号

示例:



12
[root@localhost ~]# docker kill -s kill 9f4b85a405e99f4b85a405e9

docker在线实验 docker实验总结_Docker_10

kill

PS.一些常见的rm和kill组合姿势~



12345
杀死所有正在运行的容器docker kill $(docker ps -a -q)删除所有已经停止的容器docker rm $(docker ps -a -q)

docker在线实验 docker实验总结_docker实验总结_11

rm&kill

7.docker exec
docker exec命令比较常用,他的作用是在运行的容器中执行命令



12345
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]OPTIONS说明:-d :分离模式: 在后台运行-i :即使没有附加也保持STDIN 打开-t :分配一个伪终端

示例:



12
[root@localhost ~]# docker exec -it 9f4b85a405e9 /bin/bashroot@9f4b85a405e9:/#

docker在线实验 docker实验总结_5e_12