docker-compose
Die Tage hab ich mich gewundert, als der docker-compose beim Deployment massive Fehler ausgegeben hatte.
Er konnte keine Dateien anlegen, obwohl die Rechte alles gepasst hat (gibt auch noch einen anderen Grund aber nicht in diesem Fall). Nach etwas Suche ergab sich dass das in den jeweiligen Linux Distributionen enthaltene docker-compose total veraltet ist und es keine aktuellen Packages für die jeweilige Distribution gibt. Es wird einfach nicht gepflegt.
Deshalb gibt es einen anderen Weg.
Aktuelle Umgebung :
docker-compose -v
docker-compose version 1.29.2, build unknown
joachim@dockermain:~$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
Wenn man die Seite besucht: https://github.com/docker/compose gibt es bereits ein Release 2.24.1
Neues Verfahren :
Das Docker Compose wird als CLI-Plugin in Docker eingebunden. Dh. in Zukunft gibt man nicht mehr "docker-compose -f docker-compose.yml up -d" ein, sondern "docker compose -f docker-compose.yml up -d" .
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
Die Installation erfolgt im $HOME des angemeldeten Benutzer der "NICHT ROOT" ist. Der Benutzer muss in der Gruppe "docker" sein.
usermod -aG docker <USERNAME>
Sollte Docker Compose für alle Benutzer auf dem Dockerhost zur Verfügung sein muss es in folgenden Verzeichnis installiert werden :
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
Nun folgenden Befehl eingeben:
$ docker compose version
Docker Compose version v2.24.0
Ab jetzt sollten Docker Anwendungen mit docker-compose.yml Files nur noch mit folgenden Befehl deployed werden:
docker compose -f docker-compose.yml up -d
Und wie ein Wunder, es sind alle Fehlermeldungen verschwunden.
Es gibt Zusatztools wie : apt install docker-ce docker-ce-cli docker-compose-plugin
Diese funktionieren aber nicht oder sind zumindest bei Ubuntu 20.04 / 22.04 nicht mehr vorhanden, deshalb muss dieser Weg so gemacht werden. Ich vermute mal dass docker.io so ein ähnliches Problem hat, mal sehen ich werde da mal auf Suche gehen.