Ich bin Läufer Docker für OSX und Probleme mit der Docker Remote-API zu arbeiten.Zugriff Docker-Daemon Remote-API auf Docker für Mac
Meine Situation ist dies:
- Docker Daemon nativ auf OSX (https://www.docker.com/products/docker#/mac, also nicht die boot2docker Variante)
- Jenkins läuft als Docker Bild
Nein Ich will laufen die verwenden Jenkins-docker-build-step-Plugin zum Erstellen eines Docker-Images, aber ich möchte, dass es den Docker-Daemon auf dem Host-Computer verwendet. In Jenkins-Einstellungen sollte DOCKER_URL also so aussehen: 2375. (Grund dafür ist, dass ich Docker nicht auf dem Jenkins-Container installieren möchte, wenn ich es bereits auf meinem Host-Rechner habe).
Gibt es eine Möglichkeit, dies zu tun oder ist de Docker für Mac derzeit nicht unterstützt? Ich habe versucht, mit dem Export von DOCKER_OPTS- oder DOCKER_HOST-Optionen zu experimentieren, bekomme aber trotzdem eine Verbindung zurück, wenn ich zum Beispiel http://localhost:2375/images/json anrufe.
Grundsätzlich geht es bei der Frage um das Aktivieren der Docker for OSX-Remote-API, wobei der Anwendungsfall von einem Jenkins-Docker-Container aus aufgerufen wird.
Wenn ich die Antwort von http folgen: //stackoverflow.com/questions/38 293806 Ich erhalte diesen Fehler: Ungültiges Bindungsadressenformat: -H unix: ///var/run/docker.sock -H tcp: // localhost: 2376 –
Wie wäre es, nur den Docker-Socket vom Host zum Container zu teilen? jenkins: ... Bände: - /var/run/docker.sock:/var/run/docker.sock – Lauri
Diese wie eine gültige Option scheint, aber jetzt bekomme ich eine Erlaubnis anstelle einer Verbindung verweigert verweigert. /var/run/docker.sock ist ein Symlink zu ~/Library/Containers/com.docker.docker/Data/s60, aber selbst wenn ich den Symlink als meinen eigenen Benutzer neu erstelle, bekomme ich den Permission denied error ... '[ INFO] E/A-Ausnahme (java.io.IOException), die beim Verarbeiten der Anforderung an {} -> unix: // localhost: 80: Berechtigung verweigert wurde –