Ich habe ein privates Gitlab auf meiner eigenen Maschine gehostet. Ich speichere meinen Code in Gitlab und möchte ein Docker-Image aus der Dockerfile erstellen und danach in meine Amazon ECR-Registry übertragen. Leider funktioniert das nicht, weil es einen Fehler wirft:Docker-Bild von Gitlab-CI zu Amazon AWS erstellen und schieben
Flag --email has been deprecated, will be removed in 1.13.
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
/dev/mapper/control: open failed: Operation not permitted
Failure to communicate with kernel device-mapper driver.
Check that device-mapper is available in the kernel.
Command failed
mount: permission denied
Could not mount /sys/kernel/security.
AppArmor detection and --privileged mode might break.
mkdir: cannot create directory '/sys/fs/cgroup/name=systemd': Read-only file system
mount: mount point /sys/fs/cgroup/name=systemd is not a directory
ln: failed to create symbolic link '/sys/fs/cgroup/systemd/name=systemd': Read-only file system
Timed out trying to connect to internal docker host.
Der Gitlab-ci-Code wie folgt aussieht:
stages:
- build
build_airflow:
stage: build
only: [master, develop]
image: gitlab/dind:latest
services:
- docker:dind
script:
- APP=airflow
- sh ./scripts/login-ecs.sh my_fancy_project
Das login-ecs.sh Skript einfach eval $(/usr/local/bin/aws ecr get-login --region eu-central-1)
ausgeführt wird, die eine Anmeldung sollte das Bild in die Registrierungsdatenbank des Registrierungsschlüssels (Quelle: https://blog.madisonhub.org/gitlab-ci-build-how-to-login-to-ecr/).
Ich kann das Problem nicht finden, also hoffe ich, dass Sie mir helfen können.
Vielen Dank im Voraus.
PS: Wenn ich den Befehl von aws ecr get-login
lokal ausführen, funktioniert es gut. Also sollte es etwas mit dem Gitlab zu tun haben. Muss ich einige Konfigurationen ändern, bei denen private Registrierungslogins erlaubt sind?