Docker 學會讓容器開機自啟服務
廣深小龍親測重啟伺服器後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 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 mysql
二、利用 shell 指令碼來完成手動執行容器命令
1、增加一個sh指令碼:vi start.sh
[root@iZbp19lugf22zbsubsf1y6Z ~]# vi start.sh
2、編輯一個啟動命令把儲存退出即可,容器name為例:docker start mysql
3、自測一下執行 start.sh 指令碼,可以正常啟動沒問題的。
[root@iZbp19lugf22zbsubsf1y6Z ~]# . start.sh
mysql
三、認識開機自啟的檔案:/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.
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
顯然這一操作很有必要學會哦,不然每次重啟都需要手動去啟動,實在太麻煩了。歡迎來QQ交流群:482713805
個人部落格地址:https://www.cnblogs.com/gsxl/
(注:因為這裡是個坑,沒有很好認識docker引數:--restart=always,建立容器時沒有新增引數 --restart=always 導致的後果是:當 Docker 重啟時,容器未能自啟。
如果前面已經建立容器了那麼可以這樣:docker container update --restart=always 容器名字)
相關文章
- docker 啟動 centos 映象,容器會自動退出DockerCentOS
- Docker學習之搭建MySql容器服務DockerMySql
- 【MySql】開機自動啟動mysql服務MySql
- Docker容器服務搭建(一)Docker
- Docker容器的自啟動Docker
- CentOS 7 - 配置服務實現開機自啟動CentOS
- linux中新增開機自啟服務的方法Linux
- Docker重啟保持容器自動啟動Docker
- Postgres On Docker-窺探容器服務Docker
- linux下三種服務開機自啟的方式Linux
- Linux哪些服務適合開機自啟動?linux學習入門Linux
- Docker容器如何保證第二次開啟時自動開啟?Docker
- 我行我素,讓虛擬機器實現服務自啟動薦虛擬機
- docker內服務訪問宿主機服務Docker
- win10開啟自動更新服務設定方法 window10如何開啟自動更新服務Win10
- 如何監控docker容器內的服務程式Docker
- Docker 搭建多容器組合服務 (nginx + PHP)DockerNginxPHP
- 細述docker容器中建立SSH服務映象Docker
- Centos 7 redis、tomcat、Spring Boot新增開機自啟服務CentOSRedisTomcatSpring Boot
- Oracle之 服務啟動&停止指令碼與開機自啟動(單例項)Oracle指令碼單例
- centos 服務開機啟動設定CentOS
- docker 部署微服務:一臺宿主機一個 docker 容器開著嗎?那麼效能會不會有限制?類似 vm 那種?Docker微服務
- Linux系統最有必要保留的5個開機自啟動服務!Linux
- 讓Symbian應用程式開機自動啟動
- Laravel服務容器Laravel
- Docker 容器學習Docker
- centos6.5伺服器安裝Nginx設定服務和開機自啟CentOS伺服器Nginx
- centos 自動啟動指令碼和自啟動服務CentOS指令碼
- docker compose 服務啟動順序控制Docker
- ubuntu開啟ftp服務UbuntuFTP
- docker學習筆記-為容器配置重啟策略Docker筆記
- 如何在Docker容器啟動時自動執行指令碼Docker指令碼
- Laravel 學習筆記 —— 神奇的服務容器Laravel筆記
- Docker容器學習梳理 - 容器時間跟宿主機時間同步Docker
- Laravel底層學習筆記02 - 服務容器,服務提供者Laravel筆記
- 事件與服務容器事件
- 深入Laravel服務容器Laravel
- win10服務怎麼開啟 開啟服務管理器的方法Win10