docker mysql开机自启动_Docker学习4-学会如何让容器开机自启服务【坑】
前言
小龍親測重啟服務器后 docker 容器沒跑起來,相信有不少小伙伴在用docker部署容器的時候也發現每次開機服務就沒有自啟了,需要手動去執行把容器服務開啟起來,但有沒有可以讓它開機自啟呢?顯然是有的。
一、收集需要自啟的容器id或name
1、以mysql5.7的容器name為例,查詢容器:
[root@iZbp19lugf22zbsubsf1y6Z ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bb665f57e66b mysql:5.7 "docker-entrypoint.s…" 7 days ago Exited (0) 8 minutes ago mysql
2、根據上面的容器name,我們手動運行啟動一下,可多個。
[root@iZbp19lugf22zbsubsf1y6Z ~]# docker start mysql
mysql
3、查看已運行的容器,可以看到我們手動是這樣的一個操作來完成啟動
[root@iZbp19lugf22zbsubsf1y6Z ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bb665f57e66b mysql:5.7 "docker-entrypoint.s…" 6 minutes ago Up 6 minutes 33060/tcp, 0.0.0.0:3310->3306/tcp mysql
二、利用 shell 腳本來完成手動運行容器命令
1、增加一個sh腳本:vi start.sh
[root@iZbp19lugf22zbsubsf1y6Z ~]# vi start.sh
2、編輯一個啟動命令把保存退出即可,容器name為例:docker start?mysql
3、自測一下運行 start.sh 腳本,可以正常啟動沒問題的。
[root@iZbp19lugf22zbsubsf1y6Z ~]# . start.shmysql
三、認識能開機自啟的文件:/etc/rc.d/rc.local
1、我們將 . start.sh 腳本添加至:/etc/rc.d/rc.local
echo ". ~/start.sh">> /etc/rc.d/rc.local
2、查看是否已添加:cat?/etc/rc.d/rc.local
3、設置 rc.local 文件權限:chmod +x /etc/rc.d/rc.local
[root@iZbp19lugf22zbsubsf1y6Z ~]# chmod +x /etc/rc.d/rc.local
[root@iZbp19lugf22zbsubsf1y6Z~]#
4、完成上面的操作后,就可以:reboot 試一下啦,連接后查看運行中容器:docker ps。
[root@iZbp19lugf22zbsubsf1y6Z ~]# reboot
Press Ctrl+C to cancel or Enter to reconnect immediately.
Reconnectingin 1 seconds...
[root@iZbp19lugf22zbsubsf1y6Z ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bb665f57e66b mysql:5.7 "docker-entrypoint.s…" 22 minutes ago Up 8 seconds 33060/tcp, 0.0.0.0:3310->3306/tcp mysql
顯然這一操作很有必要學會哦,不然每次重啟都需要手動去啟動,是在太麻煩了。以前是我不會,但是最后還有一種更方便是自帶的方法:
創建容器時添加參數自啟: --restart=always
如果前面已經創建容器了那么可以這樣:docker container update --restart=always 容器名字
歡迎來QQ交流群:482713805
總結
以上是生活随笔為你收集整理的docker mysql开机自启动_Docker学习4-学会如何让容器开机自启服务【坑】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql utf8跟utf8mb4_M
- 下一篇: 在mysql中删除表正确的是什么_在My