centos7 使用 systemctl 使 docker 容器(container)開機啟動


docker 提供了簡單的操作容器的命令。但是他操作容器的命令不屬於系統。

由於太簡單,必然有很多不足。例如 啟動順序、依賴性檢查、失敗服務恢復等,均需要一個成熟的系統服務管理軟件來完成。

本文使用redis作為例子:
第一步:下載鏡像

# docker pull docker.io/redis

第二步:啟動鏡像

# docker run -d --name redis_server -p 6379:6379 redis

第三步:進入/etc/systemd/system/目錄並創建docker-container\@.service文件

    #cd /etc/systemd/system/
    #vi /etc/systemd/system/docker-container\@.service

注意:不要以為docker-container\@.service缺少了什么,他的名字就叫這個。

將以下內容復制進去

    [Unit]
    Description=Docker Container %I
    Requires=docker.service
    After=docker.service
     
    [Service]
    Restart=always
    ExecStart=/usr/bin/docker start -a %i
    ExecStop=/usr/bin/docker stop -t 2 %i
     
    [Install]
    WantedBy=default.target


第四步:設置開機啟動(注意:開機先啟動docker才能再啟動容器)

    # systemctl enable docker.service
    # systemctl enable docker-container\@redis_server.service


第五步:檢查是否能正常啟動

    # systemctl start docker-container\@redis_server.service
    # systemctl status docker-container\@redis_server.service

    第五步 調用的docker-container\@redis_server.service服務,實際上是docker-container\@.service 服務。redis替換了第三步內容的 %i

最后重啟試試。

-----------------------------------------------------------------------------------------------------

自用

systemctl enable docker-container\@dnmp_mysql.service

systemctl enable docker-container\@dnmp_phpfpm.service

systemctl enable docker-container\@dnmp_nginx.service

 

docker啟動命令,docker重啟命令,docker關閉命令
啟動        systemctl start docker
守護進程重啟   sudo systemctl daemon-reload
重啟docker服務   systemctl restart  docker
重啟docker服務  sudo service docker restart
關閉docker   service docker stop   
關閉docker  systemctl stop docker
————————————————
原文鏈接:https://blog.csdn.net/easternunbeaten/article/details/80463837

 


原文鏈接:https://blog.csdn.net/lvshuocool/article/details/79568049


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM