两类容器:服务楼容器,工具类容器
工具类以daemon形式运行,-d以后台方式启动
工具类以run -it方式启动
命令(需要带上容器 ID或容器名称)
docker stop 停止
docker start 启动
docker restart 重新启动
docker --restart=always 当运行出错时立即重启(无论什么原因)
docker pause 暂停(不耗cpu资源)
docker unpause 取消暂停
docker kill 杀死
docker rename 重命名容器
docker rm 删除容器
区别:
docker create 创建容器
docker start 以后台方式启动容器
docker run 先create再start
容器资源
docker host是一个进程,一个docker host上运行若干个容器,每个容器都需要CPU,内存,IO资源
内存限制
包括物理内存和swap
1. --memory 设置内存的使用限额
2. --memory-swap 设置内存和swap的总限额,默认是-m的2倍
实例:
docker run -m 200M --memory-swap=300M ubuntu progrium/stress --vm 1 --vm-bytes 280M
启动1个内存工作线程,每个线程分配280M
CPU 限制
1. --cpu-shares 设置容器使用CPU的权重,分配资源时占CPU的比例
注意:只有在资源紧张时才按权重分配
2. --cpu 设置工作线程的数量
blockIO带宽限额(控制容器读写磁盘的带宽)
1. --blkio-weight 设置权重,默认500
2. 限制bps(byte per second 每秒读写数据量)
--device-read-bps 限制读某个设备的bps
--device-write-bps 限制写某个设备的bps
3. 限制iops(io per second 每秒IO次数),目前只对direct IO有效(不适用文件缓存)
--device-read-iops 限制读某个设备的iops
--device-write-iops 限制写某个设备的iops
实例:
docker run -it --device-write-bps /dev/sda:30M ubuntu