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
- Linux Redis 服務設定開機自啟動LinuxRedis
- Linux MySQL 服務設定開機自啟動LinuxMySql
- 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
- 重啟docker服務後,容器啟動報錯:Error response from daemon: id already in useDockerError
- 服務自啟指令碼指令碼
- centos 服務開機啟動設定CentOS
- Oracle之 服務啟動&停止指令碼與開機自啟動(單例項)Oracle指令碼單例
- docker 部署微服務:一臺宿主機一個 docker 容器開著嗎?那麼效能會不會有限制?類似 vm 那種?Docker微服務
- 為正在執行的 Docker 容器重啟策略,以提高服務的可用性Docker
- 記錄一次docker快速啟動elasticsearch單機服務DockerElasticsearch
- Linux系統最有必要保留的5個開機自啟動服務!Linux
- 讓Symbian應用程式開機自動啟動
- Laravel服務容器Laravel
- centos6.5伺服器安裝Nginx設定服務和開機自啟CentOS伺服器Nginx
- Ubuntu Server 24.04 自啟動服務UbuntuServer
- centos 自動啟動指令碼和自啟動服務CentOS指令碼
- Docker 容器學習Docker
- ubuntu開啟ftp服務UbuntuFTP
- docker compose 服務啟動順序控制Docker
- docker學習筆記-為容器配置重啟策略Docker筆記