docker update [OPTIONS] CONTAINER [CONTAINER...]
其中2d60f7408316为容器ID
docker update --restart=always 2d60f7408316
另外:
--blkio-weight | 阻塞IO (相对权重),介于10到1000之间,0表示禁用(默认禁止) |
--cpu-period | 限制CPU CFS(完全公平的调度程序)期限 |
--cpu-quota | 限制CPU CFS(完全公平的调度程序)配额 |
--cpu-rt-period | API 1.25+ ,将CPU实时时间限制为微秒 |
--cpu-rt-runtime | API 1.25+ ,将CPU实时运行时间限制为微秒 |
--cpu-shares , -c | CPU份额(相对权重) |
--cpus | API 1.29+ ,CPU数量 |
--cpuset-cpus | 允许执行的CPU(0-3,0,1) |
--cpuset-mem | 允许执行的MEM(0-3,0,1) |
--kernel-memory | 内核内存限制 |
--memory-swap | 交换限制等于内存加交换,“-1”以启用无限交换 |
--memory-reservatio | 内存软限制 |
--memory , -m | 内存限制 |
--pids-limit | API 1.40+ ,调节容器pids限制(-1表示无限制) |
--restart | 容器退出时重新启动策略以应用 |
需要注意的是:
容器只有在成功启动后restart policy才能生效。这里的"成功启动"是指容器处于up至少10秒且已经处于docker监管。这是避免没有成功启动的容器陷入restart的死循环。
如果手动stop一个容器,容器设置的restart policy将会被忽略,除非Docker守护进程重启或者容器手动重启;这是避免了如果重启策略设置了always,如果不忽略policy那么容器无法手动停止。
如果容器没启动,则可以在docker run的时候,添加指令:--restart always,例如:
docker run -itd --restart always 镜像ID /bin/bash