0

Ich versuche, meinen Docker-Compose-basierten Stack für Docker for AWS bereitzustellen (erstellt über AWS CloudFormation).Korrekter Ansatz beim Bereitstellen von Stack für Docker für AWS

Meine compose YAML-Datei wird in Git-Repository und Docker Bilder in privaten Registry (Gitlab) verwaltet.

Wie ist die korrekte Art der Zusammenarbeit mit Manager zur Bereitstellung eines Dienstes?

Ich habe versucht (und nicht) mehrere Ansätze:

  1. Arbeiten mit lokalen Docker Client über Docker API ist nicht möglich, da Docker für AWS-Manager-Knoten nicht 2375-Port zu öffnen.
  2. Rsyncing komponieren YAML und Umgebung Datei direkt auf Manager-Knoten ist nicht möglich, weil rsync nicht auf Amazon Docker AMI installiert ist.
  3. locken die Datei von Gitlab scheint eine sehr unpraktische Art, es zu tun.

Dank

Antwort

0

einen Weg gefunden, es mehr oder weniger richtig zu machen (nach einiger Kommentar in Swarm Dokumentation):

SSH Tunnel Manager erstellen: $ ssh -NL localhost:2374:/var/run/docker.sock [email protected]<manager ip> &

lokal ausführen alles mit $ docker -H localhost:2374 info

oder definieren export DOCKER_HOST=localhost:2374

und Docker, wie Sie verwenden, wenn Sie auf Swarm Manager $ docker info

0

Meiner Meinung nach laufen, gibt es 2 Möglichkeiten Sie

  1. Verwenden Jenkins versuchen und dann gibt es ein Plugin veröffentlichen genannt über SSH. Sie können dieses Plugin verwenden, um Ihre Compose-Datei zu senden und dann Befehle wie "docker stack deploy" auszuführen. More description can be found here
  2. Sie können die Docker Cloud verwenden, um Ihren Schwarm zu Ihrem lokalen Terminal zu bringen, ähnlich wie Sie es bereits getan haben. Folgen Sie dieser link

Der erste Ansatz ist viel besser, weil Sie die Bereitstellung automatisiert haben, können Sie jetzt Installationen planen, führen Sie es auf einen Klick oder sogar auf Commits.

Hoffe es hilft !!

Verwandte Themen