Docker学习笔记(1)

前言

最近学习了Docker,深感Docker的强大,对Docker常用的子命令做了一下整理,共涉及6类,32个子命令。当然我整理的并不全面,有什么疏漏和错误还请大家指出。像Docker的镜像,仓库,容器等一些概念这里不介绍,网上随便一搜都是写的非常好的精华文。
七月的夏天很热,听着窗外难得的下雨声,淅淅沥沥…
回到正题
如何安装Docker?请参考上一篇文章(传送门)
总结到了一张脑图上,可以做个参考,查看高清版请点我

Docker环境信息

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

1
docker info

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

1
docker version

version

容器生命周期管理

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

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

部分常用选项

1
2
3
4
5
6
7
8
9
-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容器,并分配一个伪终端:

1
2
[root@localhost ~]# docker run -it ubuntu:latest /bin/bash
root@6bf6f0202075:/#

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

1
2
[root@localhost ~]# docker run -i -d ubuntu:latest
9f4b85a405e9d655c8f57c04275d771d36e9908afc4b1e04598b54e676407d36

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

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

示例:

1
2
[root@localhost ~]# docker start 9f4b85a405e9
9f4b85a405e9

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

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

示例:

1
2
[root@localhost ~]# docker stop 9f4b85a405e9
9f4b85a405e9

stop
4.docker restart
重启容器

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

示例:

1
2
[root@localhost ~]# docker restart 9f4b85a405e9
9f4b85a405e9

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

1
2
3
4
5
docker rm [OPTIONS] CONTAINER [CONTAINER...]

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

示例:

1
2
[root@localhost ~]# docker rm -f 5198ec963e43
5198ec963e43

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

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

示例:

1
2
[root@localhost ~]# docker kill -s kill 9f4b85a405e9
9f4b85a405e9

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

1
2
3
4
5
杀死所有正在运行的容器
docker kill $(docker ps -a -q)

删除所有已经停止的容器
docker rm $(docker ps -a -q)

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

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

示例:

1
2
[root@localhost ~]# docker exec -it 9f4b85a405e9 /bin/bash
root@9f4b85a405e9:/#

exec
后面的命令将在下一篇文中继续总结
部分命令参考来自菜鸟教程(传送门)

文章作者: Linuz
文章链接: https://linuz.me/2019/07/20/Docker-1/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Linuz's Blog
敢不敢赏脸一次