如果我有一个 systemd 模板单元foo@.service,我如何符号链接到特定模板实例或为特定模板实例创建别名,例如,它bar.service是 的快捷方式foo@bar.service?
我有几个由 docker-compose 运行的服务。
/var/docker-compose/nginx/docker-compose.yml
/var/docker-compose/nextcloud/docker-compose.yml
/var/docker-compose/diaspora/docker-compose.yml
Run Code Online (Sandbox Code Playgroud)
为了使用 systemd 管理这些服务,我采用了一种使用模板单元的方法,以避免重复,因为所有 docker-compose 单元文件几乎都是相同的。
# /etc/systemd/system/docker-compose@.service
[Unit]
Description=%i service with docker compose
Requires=docker.service
After=docker.service
[Service]
Restart=always
WorkingDirectory=/var/docker-compose/%i
# Remove old containers, images and volumes
ExecStartPre=/usr/bin/docker-compose down -v
ExecStartPre=/usr/bin/docker-compose rm -fv
ExecStartPre=-/bin/bash -c 'docker volume ls -qf "name=%i_" | xargs docker volume rm'
ExecStartPre=-/bin/bash -c 'docker network ls -qf "name=%i_" | xargs docker network rm'
ExecStartPre=-/bin/bash -c 'docker ps -aqf …Run Code Online (Sandbox Code Playgroud) systemd ×1