Re: Automatischer Start von Docker Compose Containern

Daniel Leidert <[email protected]> Fri, 21 Feb 2025 21:28:55 +0100
Newsgroups gmane.user-groups.linux.dresden
Message-ID <[email protected]>
Am Freitag, dem 21.02.2025 um 21:02 +0100 schrieb Uwe Koloska:
> > Am Montag, dem 17.02.2025 um 20:20 +0100 schrieb N. Schwirz:
> >=20
> > Du kannst hier entweder in der systemd .service-Datei das
> > Arbeitsverzeichnis definieren, z.B.
> >=20
> > [Service]
> > User=3Dmeinuser
> > Group=3Ddocker
> > WorkingDirectory=3D/root/git/gitlab
> >=20
> > Oder du gibt dem docker-compose-Befehl den Pfad zur docker-compose-
> > Datei mit. Ich w=C3=BCrde erstes empfehlen.
>=20
> @daniel: Von welcher systemd service-Datei redest du?

Ich hatte den OP zu schnell gelesen. Ich dachte, der OP startet aus
einer systemd .service Datei den Verbund und w=C3=A4re der Meinung, das
ginge nicht weil er docker-compose im Verzeichnis ausf=C3=BChren muss, in
dem die docker-compose.yaml liegt. Daher mein Hinweis. Ich sehe nun,
dass ich zu schnell gelesen habe.

Unabh=C3=A4ngig davon kann man einen derartigen Verbund nat=C3=BCrlich auch=
 via
selbst geschriebener Service-Datei laufen lassen. Als Beispiel:

----------------------------------------------
[Unit]
Description=3DFoo Docker Service
Requires=3Ddocker.service
After=3Dnetwork.target docker.service
ConditionPathExists=3D/srv/foo/docker-compose.yml

[Service]
User=3Duser
Group=3Ddocker
WorkingDirectory=3D/srv/foo
Environment=3DFOO_HOME=3D/srv/foo/data
ExecStartPre=3D/usr/bin/docker-compose pull --include-deps
ExecStart=3D/usr/bin/docker-compose up
ExecReload=3D/usr/bin/docker-compose restart -t 30
ExecStop=3D/usr/bin/docker-compose down --remove-orphans
Restart=3Don-failure

[Install]
WantedBy=3Dmulti-user.target
Alias=3Ddocker-foo.service
-----------------------------------------------

Wenn Docker die Container nicht automatisch startet, ist das eine
Alternative.

VG Daniel