Docker服务以及容器如何设置服务器开机自动启动
今天在客户现场遇到了如下问题:
他们服务器的机房,有时候需要关机重启,进行机房改造!
这时候就会遇到断电重启,在没有设置自动启动的情况下,我们所有的软件程序(比如redis,mysql ,nginx,...)都需要重新手动启动一遍,这样就非常麻烦,不能及时处理,客户就会打电话给我们公司。
解决办法:
一、docker自动启动
1、查看已经启动的服务
bash
systemctl list-units --type=service
根据上面的图,说明务已经启动,
如果没有启动,就先执行一下启动命令: systemctl start docker
2、查看是否设置开机启动
bash
systemctl list-unit-files | grep docker
显示disabled,说明docker服务没有设置开机启动 。
3、设置开机启动
powershell
systemctl enable docker.service
4、在查看一下
powershell
systemctl list-unit-files | grep docker
显示enabled,说明docker服务设置了开机启动 。
二、容器设置自动启动
5、再对目前所有的容器设置自启动
powershell
docker update --restart=always 容器名称
建立一个脚本touch start_containers.sh,将下面内容写入到里面,然后赋予权限chmod +x start_containers.sh,执行一下就行 ./start_containers.sh
。
powershell
#!/bin/bash
docker update --restart=always java-8
docker update --restart=always nginx
docker update --restart=always mysql
docker update --restart=always redis
docker update --restart=always rabbitmq3.8.16