dockersystemd:如何在systemd(BASH)中设置服务时自动启动容器



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

从docker网站的文档中,

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

您可以使用重新启动策略,参数为

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

Flag
描述

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

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

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

unless-stopped
与往常类似,只是当容器停止(手动或以其他方式(时,即使Docker守护进程重新启动,它也不会重新启动。

如果这些不符合您的要求,那么您可以在网页下方使用流程管理器,如暴发户、系统管理员或主管。

Dockerfile中,在最后一个处添加

ENTRYPOINT service ssh restart && bash

最新更新