Open penguineer opened 1 year ago
docker-compose in ansible wäre auch noch eine Option
dkdent@gw01:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
986a2c8c2ae7 jool-docker "/root/run.sh" 6 days ago Up 9 minutes jool-docker_jool_1
0560fa2296f8 klausdieter371/wg-docker "/scripts/run.sh" 3 weeks ago Up 6 days wg-docker_wg_1
b9b742fec6b0 yanic "/bin/sh -c '/go/bin…" 23 months ago Up 6 days ffmd_yanic
31e3c0af2b33 docker-dns64_dns64 "/docker-entry.sh '/…" 2 years ago Up 6 days docker-dns64_dns64_1
dkdent@gw01:~$ docker inspect 98 | grep com.docker.compose
"com.docker.compose.config-hash": "a12049441338b40ac5073e5d95cc0dd6510f3fbede080150a905d15fca1ff13f",
"com.docker.compose.container-number": "1",
"com.docker.compose.oneoff": "False",
"com.docker.compose.project": "jool-docker",
"com.docker.compose.project.config_files": "docker-compose.yaml",
"com.docker.compose.project.working_dir": "/root/jool-docker",
"com.docker.compose.service": "jool",
"com.docker.compose.version": "1.27.4",
dkdent@gw01:~$ docker inspect 05 | grep com.docker.compose
"com.docker.compose.config-hash": "245656998c42ba4394722bae83d2ebbd381ea7b268a4adee6be4673d2b953e10",
"com.docker.compose.container-number": "1",
"com.docker.compose.oneoff": "False",
"com.docker.compose.project": "wg-docker",
"com.docker.compose.project.config_files": "docker-compose.yaml",
"com.docker.compose.project.working_dir": "/root/wg-docker",
"com.docker.compose.service": "wg",
"com.docker.compose.version": "1.27.4"
dkdent@gw01:~$ docker inspect b9 | grep com.docker.compose
"com.docker.compose.config-hash": "4c26f4eaabfc38b4c9ee62511c48fb83fd840ddedfdae23a6caa4f08e6eb848a",
"com.docker.compose.container-number": "1",
"com.docker.compose.oneoff": "False",
"com.docker.compose.project": "ffmd-yanic",
"com.docker.compose.service": "yanic",
"com.docker.compose.version": "1.21.0",
dkdent@gw01:~$ docker inspect 31 | grep com.docker.compose
"com.docker.compose.config-hash": "0336d1f2cb61e4297a629f0f2c3d982a2dc67abf6dfe1f68fc5ce404bddbfc0e",
"com.docker.compose.container-number": "1",
"com.docker.compose.oneoff": "False",
"com.docker.compose.project": "docker-dns64",
"com.docker.compose.service": "dns64",
"com.docker.compose.version": "1.21.0"
Für mich sieht das so aus, als ob einzelne Container (jool und wg) ihre separaten docker-compose Files bekommen haben und die anderen noch aus dem alten gemeinsamen docker-compose.yaml gestartet werden. Entspricht das ungefähr dem, was ihr da als Bild im Kopf habt?
Ich habe mir gerade einmal alle meinem Verständnis nach relevanten Dateien gezogen, werde das aber vorerst nicht einchecken, da da noch Secrets drin stehen.
Ja, das ist etwas zersplittert, weil wir auch noch Admin-Möglichkeiten gesucht haben. Ein paar Services haben ihre eigenen Docker-Compose-Dateien und ich glaube, auf web hat @Kwa5ir mal ein einzelnes, großes File angelegt.
dkdent@gw01:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 986a2c8c2ae7 jool-docker "/root/run.sh" 6 days ago Up 9 minutes jool-docker_jool_1 0560fa2296f8 klausdieter371/wg-docker "/scripts/run.sh" 3 weeks ago Up 6 days wg-docker_wg_1 b9b742fec6b0 yanic "/bin/sh -c '/go/bin…" 23 months ago Up 6 days ffmd_yanic 31e3c0af2b33 docker-dns64_dns64 "/docker-entry.sh '/…" 2 years ago Up 6 days docker-dns64_dns64_1 dkdent@gw01:~$ docker inspect 98 | grep com.docker.compose "com.docker.compose.config-hash": "a12049441338b40ac5073e5d95cc0dd6510f3fbede080150a905d15fca1ff13f", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "jool-docker", "com.docker.compose.project.config_files": "docker-compose.yaml", "com.docker.compose.project.working_dir": "/root/jool-docker", "com.docker.compose.service": "jool", "com.docker.compose.version": "1.27.4", dkdent@gw01:~$ docker inspect 05 | grep com.docker.compose "com.docker.compose.config-hash": "245656998c42ba4394722bae83d2ebbd381ea7b268a4adee6be4673d2b953e10", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "wg-docker", "com.docker.compose.project.config_files": "docker-compose.yaml", "com.docker.compose.project.working_dir": "/root/wg-docker", "com.docker.compose.service": "wg", "com.docker.compose.version": "1.27.4" dkdent@gw01:~$ docker inspect b9 | grep com.docker.compose "com.docker.compose.config-hash": "4c26f4eaabfc38b4c9ee62511c48fb83fd840ddedfdae23a6caa4f08e6eb848a", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "ffmd-yanic", "com.docker.compose.service": "yanic", "com.docker.compose.version": "1.21.0", dkdent@gw01:~$ docker inspect 31 | grep com.docker.compose "com.docker.compose.config-hash": "0336d1f2cb61e4297a629f0f2c3d982a2dc67abf6dfe1f68fc5ce404bddbfc0e", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "docker-dns64", "com.docker.compose.service": "dns64", "com.docker.compose.version": "1.21.0"
~Für mich sieht das so aus, als ob einzelne Container (jool und wg) ihre separaten docker-compose Files bekommen haben und die anderen noch aus dem alten gemeinsamen docker-compose.yaml gestartet werden. Entspricht das ungefähr dem, was ihr da als Bild im Kopf habt?~
Ich habe mir gerade einmal alle meinem Verständnis nach relevanten Dateien gezogen, werde das aber vorerst nicht einchecken, da da noch Secrets drin stehen.
Für die Secrets haben wir auch noch keine abgestimmte Lösung, weil es bislang im Ansible keine gab.
Möglicherweise ist der effektivste nächste Schritt hier, die Fragen zu finden, die wir auf dem nächsten Freifunk-Treffen beantworten sollten. Insbesondere auch in Hinblick darauf, wie wir das in Zukunft lösen wollen.
docker-compose in ansible wäre auch noch eine Option
Wir könnten auch in einem ersten Schritt die docker-compose files direkt über Ansible ausführen und sie dann durch Ansible-Aufrufe ablösen.
jool wird wegen kernelmodul genau beim start des containers gebaut
Ein großer Teil der Container wird noch über Docker-Compose aufgesetzt. Wir sollten das in Ansible überführen, um hier eine einheitliche Konfigurationsschicht zu haben.