Ich habe eine Docker-Compose-Datei, die 6 verschiedene Microservices starten wird. Die Art, wie unser docker-repository eingerichtet wird, verhindert die Verwendung des 'neusten' Tags, also suche ich nach einer Möglichkeit, ein Skript auszuführen, bevor docker-compose die Microservice-Images abruft, die Umgebungsvariablen im Bereich des Docker-Compose setzen .yml-Datei.Docker-compose Setup-Skript zum Festlegen von Umgebungsvariablen aus Container
version: '3'
services:
#Service 1
svc1:
image: some-snapshot.docker.privaterepo.com/some-service:${LATEST_SVC_TAG}
container_name: service1
ports:
- "8080:8080"
#Service 2
svc2:
image: some-snapshot.docker.privaterepo.com/some-service2:${LATEST_SVC2_TAG}
container_name: service2
ports:
- "8081:8081"
Leider habe ich nicht klar war, muss ich nicht hart Code der Lage sein, die Versionsnummern, und dies muss auf einem CI-Server ausgeführt werden. Wenn Sie einen neuen Push-Vorgang durchführen möchten, ziehen Sie die neuesten Bilder für die anderen Dienste herunter und führen Sie einige Tests mit ihnen durch. – Alex
Wenn Sie dies auf Ihrem CI-Server ausführen müssen, müssen Sie nur die Versionsparameter für Ihre CI-Jobs festlegen und sie in der CI-Umgebung verfügbar machen. Oder suchen Sie nach einem Skript, das * alle verfügbaren Versionen Ihrer Bilder auflistet, die Tags überprüft und herausfindet, welches das neueste ist, und dieses verwenden *? – larsks