技术分享 CentOS 上使用 systemd 来设置 Docker 容器自动重启

kakax · 2023年12月03日 · 最后由 kaka.hu 回复于 2023年12月21日 · 169 次阅读

以下是一些操作步骤:

  1. 创建一个 systemd 单元文件:/etc/systemd/system/ 目录下创建一个新的 .service 文件,以定义你的 Docker 容器。例如,创建一个名为 my-container.service 的文件:

    [Unit]
    Description=My Docker Container
    After=docker.service
    
    [Service]
    Restart=always
    ExecStartPre=-/usr/bin/docker container stop  container-name
    ExecStart=/usr/bin/docker container start container-name
    
    [Install]
    WantedBy=multi-user.target
    

    请确保替换 your-docker-image 为你实际使用的 Docker 镜像。

  2. 重新加载 systemd: 在创建或修改完 systemd 单元文件后,需要重新加载 systemd,使其能够识别新的服务。执行以下命令:

    sudo systemctl daemon-reload
    
  3. 启用和启动服务: 启用服务以使其在系统启动时自动启动,然后启动服务。执行以下命令:

    sudo systemctl enable my-container.service
    sudo systemctl start my-container.service
    

    替换 my-container.service 为你实际创建的 systemd 单元文件名。

现在,你的 Docker 容器应该在退出时自动重新启动。Restart=always 告诉 systemd 在容器退出时始终重启它。这种配置适用于 systemd 受支持的大多数 Linux 发行版,包括 CentOS。

1 楼 已删除

gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

sudo apt-get install software-properties-common

\curl -sSL https://get.rvm.io | bash -s stable --ruby

185.199.108.133 raw.githubusercontent.com

6 楼 已删除
需要 登录 后方可回复