# 容器控制操作
补充一些 Docker 的命令,对于这种单纯的命令查看,建议直接看菜鸟教程。
# 进入容器,退出:ctrl+P,ctrl+Q;终止容器运行的程序:ctrl+C | |
docker attach 容器ID/名称 | |
# 执行命令,这里执行的是 bash,并开启一个可输入终端 | |
docker exec -it 容器ID/名称 bash | |
# (假设容器可以执行 java),就相当于让容器执行 java -version | |
docker exec 容器ID/名称 java -version | |
# 允许容器处理善后再停止运行 | |
docker kill 容器ID/名称 | |
# 直接强制停止容器 | |
docker stop 容器ID/名称 | |
# 启动容器(一般是容器被 stop 之后) | |
docker start 容器ID/名称 | |
# 重启容器 | |
docker restart 容器ID/名称 | |
# 暂停容器 (unpause-- 取消暂停) | |
docker pause 容器ID/名称 |
# 物理资源管理
- 内存分配:
docker run -it -m 50M --memory-swap=100M nagocoler/springboot-test:1.0 |
-m
对容器的物理内存的限制, --memory-swap
对内存和交换分区总和的限制。默认都是 - 1,即没有任何限制。如果仅指定 -m
,那么交换内存的限制也为 -m
指定的参数。
- CPU 进行限额:
# | |
docker run -c 1024 ubuntu | |
docker run -c 512 ubuntu |
对 CPU 的分配只有多容器才生效,默认是 1024,如果 CPU 不紧张,依然可以使用全部 CPU 资源。
通过 Ubuntu 命令:
sudo apt install stress
在容器中下载压力测试工具来看一下进程分配权重对进程获得 CPU 资源的影响。
还可以限制容器使用 CPU:
docker run -it --cpuset-cpus=1 ubuntu |
选项后面的值不是 CPU 的数量,而是 CPU 的 “编号”,即这个容器只用 1 这个 CPU,所以指定两个 CPU 时也可以这样:
docker run -it --cpuset-cpus=0,1 ubuntu
。
命令 --cpus
来限制使用 CPU 资源数(个数): docker run -it --cpus=1 ubuntu
。
# 容器监控
docker stats |
可以实时对容器的各项状态进行监控,包括内存使用、CPU 占用、网络 I/O、磁盘 I/O 等信息。
top
命令可以查看容器进程:
docker top 容器ID/名称 |
对于容器监管,也有页面版本的,官方下载教程,此处不过多讲解。
# 参考
https://www.yuque.com/qingkongxiaguang/zwhkpi/kq6rlg
https://www.runoob.com/docker/docker-start-stop-restart-command.html