从用户目录在Linux系统启动上启动Docker容器

时间:2020-01-23 14:44:47

标签: linux docker docker-compose

我已经下载了两个docker容器并已经对其进行配置。

所以,现在我要做的就是在系统启动时启动它们。

它们的路径类似

/home/user/docker-mailserver

/home/user/docker-webserver

托管在Ubuntu 18.04.01(x64)

启动时,这些Docker容器未运行。

登录时,这些docker容器正在启动。

我已经尝试做类似的事情

docker run -it --restart unless-stopped fancydockercontainer:latest

docker run -dit --restart unless-stopped fancydockercontainer:latest

但是,当我执行docker ps时,在那里有新容器添加到池中。

有没有一种方法可以将那些容器的启动过程重新路由到系统启动,而无需完全删除/删除它们?

添加: 我像docker-compose up -d mailserver

1 个答案:

答案 0 :(得分:0)

@KamilCuk提示使用服务解决此问题后,这是可能的解决方案。

看起来像这样:

  1. 使用以下命令创建服务文件: nano /etc/systemd/system/docker-mail.service

  2. 文件中类似的内容

[Unit]
Description=Docker Mailserver
Requires=docker.service
After=docker.service

[Service]
Restart=always
RemainAfterExit=yes
WorkingDirectory=/home/user/docker-mailserver
ExecStart=/usr/bin/docker-compose up -d mail
ExecStop=/usr/bin/docker-compose stop -d mail

[Install]
WantedBy=default.target
  1. 使用systemctl enable docker-mail.service将新服务添加到systemctl

重新启动服务器后,此邮件服务器可用。

在这一点上,我可以用journalctl -u docker-mail.service -b查看启动日志(-b只是“启动”)

相关问题