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

posted @ 2019-12-23 18:53  哎哟我去a  阅读(1513)  评论(0编辑  收藏  举报