AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

docker compose を systemd で動かす

主に自分向けのメモ。

Ubuntu とか RHEL 環境でパッケージマネージャ経由だと docker compose コマンドだけど、 git とかで clone したりすると docker-compose コマンドになったりするので、事前に which とかで調べておくのが重要。

[Unit]
Description=EXAMPLE by docker-compose
Requires=docker.service

[Service]
Type=simple

Environment=COMPOSE_FILE=/var/www/example/docker-compose.yml

ExecStartPre=-/usr/bin/docker compose -f ${COMPOSE_FILE} down --volumes
ExecStart=/usr/bin/docker compose -f ${COMPOSE_FILE} up
ExecStop=/usr/bin/docker compose -f ${COMPOSE_FILE} down --volumes 

# 自動再起動が必要なら有効化する
#Restart=always

[Install]
WantedBy=multi-user.target

Requires=docker.service を指定しているので、 network 系のサービスとかはそっちで起動確認している前提。

tex2e.github.io