以下方式任选其一
方式 1
1.添加 docker-compose.service
vim /etc/systemd/system/docker-compose.service
[Unit]Description=Docker Compose Application ServiceRequires=docker.serviceAfter=docker.service[Service]Type=forkingRemainAfterExit=yesWorkingDirectory=/opt/ ExecStart=/usr/bin/docker compose up -dExecStop=/usr/bin/docker compose downTimeoutStartSec=0[Install]WantedBy=multi-user.target注:WorkingDirectory 是 seafile-server.yml文件所在目录的绝对路径。
2. docker-compose.service 文件设置为 644 权限
chmod644/etc/systemd/system/docker-compose.service
3. 加载开机启动配置
systemctldaemon-reload
systemctlenabledocker-compose.service
方式 2
每个容器都添加配置 restart: unless-stopped ,以seafile-server.yml为例:
services: db: image: mariadb:10.11 container_name: seafile-mysql-1 restart: unless-stopped memcached: image: memcached:1.6.18 container_name: seafile-memcached restart: unless-stopped elasticsearch: image: elasticsearch:8.6.2 container_name: seafile-elasticsearch restart: unless-stopped seafile: image: docker.seafile.top/seafileltd/seafile-pro-mc:12.0-latest container_name: seafile restart: unless-stopped注: 添加 restart: unless-stopped,当 Docker 启动时 Seafile 容器会自动启动。若 Seafile 容器不存在(执行了 docker compose down),则容器不会自动启动。