如何使用systemd将docker-compose作为服务启动?

问题描述 投票:0回答:1

我想启动在Docker上运行的LAMP服务器之类的服务。所以我在/opt/service中的某个地方有一个可以正常工作的docker-compose.yml的项目。

我可以做docker-compose up,并且所有内容都像一个魅力。从现在开始,我想在启动时自动启动该服务,并且我希望systemd能够照顾好它。

我遵循互联网上的一些说明,并编写了此最小服务配置:

[Unit]
Description=Service with docker compose
Requires=docker.service
After=docker.service

[Service]
Type=oneshot
RemainAfterExit=true
WorkingDirectory=/opt/service
ExecStart=/usr/local/bin/docker-compose up -d --remove-orphans
ExecStop=/usr/local/bin/docker-compose down

[Install]
WantedBy=multi-user.target

这是一项工作,除了两点:

  • 状态为active (excited),我更希望阅读active (running)
  • journalctl中没有可见的日志。

可以调整我的服务配置以正确理解这两点吗?

docker service docker-compose systemd
1个回答
0
投票

您能否在docker-compose.yml中添加以下日志记录驱动程序以进行日志记录。

version: "3"
services:
  myapp:
    image: nginx
    logging:
      driver: journals

Ref:-https://docs.docker.com/compose/compose-file/compose-file-v2/#logging

© www.soinside.com 2019 - 2024. All rights reserved.