# Docker systemd

**URL:** <https://www.debian-fr.org/t/docker-systemd/81589>\
**Category:** Support Debian\
**Created:** [Mars 23, 2020, 7:45 UTC](https://www.debian-fr.org/t/docker-systemd/81589 "2020-03-23T19:45:33Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![yatta](https://www.debian-fr.org/user_avatar/www.debian-fr.org/yatta/32/12132_2.png) [@yatta](https://www.debian-fr.org/u/yatta)\
**Post date:** [Mars 23, 2020, 7:45 UTC](https://www.debian-fr.org/t/docker-systemd/81589/1 "2020-03-23T19:45:33Z")

</div>

Bonjour,

Je viens d’installer gitlab via docker (j’ai automatisé via ansible).  
Jusque là, tout se passe plutôt bien et j’arrive à me connecter dessus.  
Parce que je n’aurais pas besoin que le container soit lancé systématiquement, il n’est pas relancé à chaque redémarrage de la machine.  
C’est là où je bloque, comment lancer le container plus facilement que :

```
docker run --detach --hostname pc.local --publish 46443:443 --publish 46080:80 --publish 46022:22 --name gitlab --restart no --volume /home/gitlab/config:/etc/gitlab --volume /home/gitlab/logs:/var/log/gitlab --volume /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest

```

Ensuite, je mettrais ça dans une unité systemd pour gérer le service.  
Comment, je peux lancer le container en mettant les variables dans un fichier de conf.  
Il faut passer par docker-compose ?

C’est la première fois pour moi avec docker, tous liens intéressants seraient le bienvenu.

---

<div class="post-metadata">

**Author:** ![Sputnik93](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/35a633/32.png) [@Sputnik93](https://www.debian-fr.org/u/Sputnik93)\
**Post date:** [Mars 24, 2020, 9:39 UTC](https://www.debian-fr.org/t/docker-systemd/81589/2 "2020-03-24T09:39:53Z")

</div>

Salut,

je suis pas un pro de docker non plus, mais tu as essayé `docker start` ?  
Tu peux choisir le nom de ton conteneur au lancement avec l’option `--name`, de cette manière tu peux le contrôler en utilisant son nom (c’est plus simple que le CONTAINER\_ID ou que les noms choisis aléatoirement par docker).

```auto
Sputnik@debian-probook:~$ docker run --detach --hostname test1 --name test1 -it debian-ansible:buster
2ad05bc594dbfa34c3752d0de6989eb3bf2358e9b347daec6c93f2fc489445fd
Sputnik@debian-probook:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2ad05bc594db debian-ansible:buster "bash" 5 seconds ago Up 4 seconds test1
Sputnik@debian-probook:~$ docker stop test1
Sputnik@debian-probook:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2ad05bc594db debian-ansible:buster "bash" 47 seconds ago Exited (0) 4 seconds ago test1
Sputnik@debian-probook:~$ docker start test1
test1
Sputnik@debian-probook:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2ad05bc594db debian-ansible:buster "bash" About a minute ago Up 3 seconds test1
```

---

<div class="post-metadata">

**Author:** ![yatta](https://www.debian-fr.org/user_avatar/www.debian-fr.org/yatta/32/12132_2.png) [@yatta](https://www.debian-fr.org/u/yatta)\
**Post date:** [Mars 24, 2020, 11:12 UTC](https://www.debian-fr.org/t/docker-systemd/81589/3 "2020-03-24T11:12:10Z")

</div>

je vais tester tout ça  
en tout cas la doc n’est pas très explicite [https://docs.docker.com/engine/reference/commandline/start/](https://docs.docker.com/engine/reference/commandline/start/)

---

<div class="post-metadata">

**Author:** ![yatta](https://www.debian-fr.org/user_avatar/www.debian-fr.org/yatta/32/12132_2.png) [@yatta](https://www.debian-fr.org/u/yatta)\
**Post date:** [Mars 24, 2020, 11:30 UTC](https://www.debian-fr.org/t/docker-systemd/81589/4 "2020-03-24T11:30:54Z")

</div>

a priori, c’est bien ça :

```
docker start gitlab
```

---

<div class="post-metadata">

**Author:** ![yatta](https://www.debian-fr.org/user_avatar/www.debian-fr.org/yatta/32/12132_2.png) [@yatta](https://www.debian-fr.org/u/yatta)\
**Post date:** [Mars 24, 2020, 7:21 UTC](https://www.debian-fr.org/t/docker-systemd/81589/5 "2020-03-24T19:21:28Z")

</div>

Merci [Sputnik93](https://www.debian-fr.org/u/Sputnik93)  
Pour le moment ça marche avec :

```
# cat /etc/systemd/system/gitlab.service 
[Unit]
Description=Gitlab
After=network-online.target
ConditionPathIsMountPoint=/home/gitlab
Requires=docker.service
After=docker.service
[Service]
Type=simple
ExecStart=/usr/bin/docker start -a gitlab
ExecStop=/usr/bin/docker stop -t 10 gitlab
[Install]
WantedBy=multi-user.target

```

Je peux gérer mon gitlab avec systemd 😀
