Benutzer-Werkzeuge

Webseiten-Werkzeuge


linux:docker:systemd

Docker / Systemd

Docker tcp socket, arbeitsverzeichnis festlegen

$ mkdir -p /etc/systemd/system/docker.service.d
$ cd /etc/systemd/system/docker.service.d
$ touch imagelocation.conf

Vorlage imagelocation.conf editieren:

[Unit]
Description=Docker dAEMon Application Container Engine
Documentation=https://docs.docker.com
After=network.target
 
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --insecure-registry=192.168.1.126:5000 -H "tcp://0.0.0.0:4243" -g /mnt/ssd/docker -H "fd://"
–insecure-registry registry url, zb bei eigener registry im lan
-H docker lauscht zustäzlich auf addr:port
-g Docker Arbeitsverzeichnis

Docker Daemon neu starten nach systemctl daemon-reload

Von einem Arbeitsrechner aus, kann man das sofort testen

$ docker -H 192.168.1.126:4243 info

Container mit systemd starten

Das Beispiel beschäftigt sich mit Portainer, eine UI für Docker. Ziel ist es, das Portainer nach dem Bootvorgang zur Verfügung steht.

Portainer Image laden und ein Container starten:

$ docker run -d --name portainer-ui -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer

Service Unit anlegen:

sudo nano /etc/systemd/system/docker-portainer.service

Mit Inhalt:

[Unit]
Description=Portainer Docker UI
Requires=docker.service
After=docker.service
 
[Service]
Restart=always
ExecStart=/usr/bin/docker start -a portainer-ui
ExecStop=/usr/bin/docker stop -t 2 portainer-ui
 
[Install]
WantedBy=default.target

Erklärung der Flags:

docker start-a, –attachAttach STDOUT/STDERR and forward signals
docker stop -t, –time intSeconds to wait for stop before killing it (default 10)

Reload Systemd:

$ systemctl daemon-reload

Unit aktivieren:

$ systemctl enable docker-portainer.service

Nach dem Neustart des Rechners steht der Dienst zur Verfügung - oder man startet den Container sofort:

$ systemctl start docker-portainer.service
$ sudo systemctl status docker-portainer.service 

● docker-portainer.service - Portainer Docker UI
   Loaded: loaded (/etc/systemd/system/docker-portainer.service; enabled; vendor
   Active: active (running) since Fr 2016-12-16 15:25:10 CET; 20min ago
 Main PID: 1808 (docker)
    Tasks: 7
   Memory: 18.1M
      CPU: 24ms
   CGroup: /system.slice/docker-portainer.service
           └─1808 /usr/bin/docker start -a portainer-srv

Dez 16 15:25:10 haiko-u systemd[1]: Started Portainer Docker UI.
Dez 16 15:25:11 haiko-u docker[1808]: 2016/12/16 14:25:10 Starting portainer on 

Fertig:

portainer in action

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
linux/docker/systemd.txt · Zuletzt geändert: 2017/06/18 20:36 von haiko

hello, world