【问题标题】:docker systemd: how i can automatically start a container while setting up a service in systemd (BASH)docker systemd:如何在 systemd (BASH) 中设置服务时自动启动容器
【发布时间】:2020-10-26 10:49:49
【问题描述】:

我将使用命令运行一个 docker 容器 docker run -ti --rm -p 8080:80 -v $(pwd)/my/path/to/config myimage:latest 但计划是在脚本中编写一个函数,启动这些映像,同时在 systemd 中启动 VM。 我必须在 /lib/systemd/system 中设置服务吗?

【问题讨论】:

    标签: bash docker scripting containers systemd


    【解决方案1】:

    来自 docker 网站的文档,

    https://docs.docker.com/config/containers/start-containers-automatically/

    可以使用重启策略,参数是,

    使用重启策略 要为容器配置重启策略,请在使用 docker run 命令时使用 --restart 标志。 --restart 标志的值可以是以下任何一种:

    Flag
    说明

    no
    不要自动重启容器。 (默认)

    on-failure
    如果容器因错误退出,则重新启动容器,这表现为非零退出代码。

    always
    如果容器停止,请始终重新启动容器。如果是手动停止的,只有在 Docker daemon 重启或者容器本身手动重启时才会重启。 (请参阅重启策略详细信息中列出的第二个项目符号)

    unless-stopped
    与always类似,除了当容器停止(手动或其他方式)时,即使在Docker daemon重新启动后也不会重新启动。

    如果这些不能满足您的要求,那么您可以使用网页下方的流程管理器,例如 upstart、systemd 或 supervisor。

    【讨论】:

      【解决方案2】:

      在你的Dockerfile,最后添加

      ENTRYPOINT service ssh restart && bash

      【讨论】:

      • 这意味着什么?当我开始构建容器将自动启动?
      猜你喜欢
      • 1970-01-01
      • 2017-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-29
      • 2021-01-08
      • 2016-11-10
      • 2018-01-23
      相关资源
      最近更新 更多