Docker學習4-學會如何讓容器開機自啓服務

前言mysql

小龍親測重啓服務器後 docker 容器沒跑起來,相信有很多小夥伴在用docker部署容器的時候也發現每次開機服務就沒有自啓了,須要手動去執行把容器服務開啓起來,但有沒有能夠讓它開機自啓呢?顯然是有的。sql

1、收集須要自啓的容器id或namedocker

  1.以mysql5.7的容器name爲例,查詢容器:shell

[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,咱們手動運行啓動一下,可多個。tcp

[root@iZbp19lugf22zbsubsf1y6Z ~]# docker start mysql
mysqlspa

  3.查看已運行的容器,能夠看到咱們手動是這樣的一個操做來完成啓動3d

[root@iZbp19lugf22zbsubsf1y6Z ~]# docker ps
CONTAINER 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 mysqlblog

2、利用 shell 腳原本完成手動運行容器命令部署

  1.增長一個sh腳本:vi start.sh

[root@iZbp19lugf22zbsubsf1y6Z ~]# vi start.sh

  2.編輯一個啓動命令把保存退出便可,容器name爲例:docker start mysql

  

  3.自測一下運行 start.sh 腳本,能夠正常啓動沒問題的。

[root@iZbp19lugf22zbsubsf1y6Z ~]# . start.sh
mysql

3、認識能開機自啓的文件:/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

  4.完成上面的操做後,就能夠:reboot 試一下啦,鏈接後查看運行中容器:docker ps。

[root@iZbp19lugf22zbsubsf1y6Z ~]# reboot

Press Ctrl+C to cancel or Enter to reconnect immediately.
Reconnecting in 1 seconds...

 

[root@iZbp19lugf22zbsubsf1y6Z ~]# docker ps
CONTAINER 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

 

顯然這一操做頗有必要學會哦,否則每次重啓都須要手動去啓動,是在太麻煩了。

相關文章
相關標籤/搜索