紧接着上一篇文章,发现 Redis 每次都要启动太麻烦了,最好容器伴随着 Docker 启动
第一种 启动时直接添加
docker run -d --restart=always myredis
第二种 直接修改 对应容器的启动策略,当 myredis 容器退出后采取新的启动策略
docker container update --restart=always myredis
第三种 直接修改 docker 容器的配置文件
1. docker stop myredis
2. cd /var/lib/docker/container/myredis的容器id
3. vim hostconfig.json
4. 通过 /RestartPolicy 命令发现 重启策略,是no
5. 修改为 always
6. 重启容器
操作如下:
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f6472f47fca2 redis "docker-entrypoint.s…" About an hour ago Up 30 minutes 0.0.0.0:6379->6379/tcp myredis
[root@localhost ~]# docker stop myredis
[root@localhost ~]# cd /var/lib/docker/containers/f6472f47fca25..../
[root@localhost f6472f47fca25843214a92b9a22179e7e6c7bafc32c88a7215cc43dd3820c147]# ll
drwx------. 2 root root 6 5月 3 09:49 checkpoints
-rw-------. 1 root root 3643 5月 3 10:48 config.v2.json
-rw-r-----. 1 root root 30326 5月 3 10:48 f6472f47fca25843214a92b9a22179e7e6c7bafc32c88a7215cc43dd3820c147-json.log
-rw-r--r--. 1 root root 1530 5月 3 10:48 hostconfig.json
-rw-r--r--. 1 root root 13 5月 3 10:48 hostname
-rw-r--r--. 1 root root 174 5月 3 10:48 hosts
drwx------. 3 root root 16 5月 3 09:49 mounts
-rw-r--r--. 1 root root 55 5月 3 10:48 resolv.conf
-rw-r--r--. 1 root root 71 5月 3 10:48 resolv.conf.hash
修改 hostconfig.json 中的 RestartPolicy
原始:"RestartPolicy":{"Name":"no","MaximumRetryCount":0}
修改后: "RestartPolicy":{"Name":"always","MaximumRetryCount":0}
通过jq 查看
重新启动 docker 发现 myredis 已经启动!
官方命令手册 :https://docs.docker.com/engine/reference/commandline/run/