2017-12-12 4 views
1

6 개의 다른 마이크로 서비스를 시작하는 도커 작성 파일이 있습니다. 우리의 도커 - 저장소가 설치되는 방식은 '최신'태그의 사용을 막기 때문에 도커 - 작성이 마이크로 서비스 이미지를 가져 오기 전에 스크립트를 실행할 방법을 찾고 있습니다. 이것은 도커 - 작성의 범위에서 환경 변수를 설정합니다 .yml 파일.Docker-compose 설정 스크립트를 사용하여 컨테이너 내에서 환경 변수를 설정하십시오.

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" 

답변

2

정말 "스크립트"가 필요한지 잘 모르겠습니다. 당신은 단지 같은 것을 실행할 수 있습니다 : 다른 방법

LATEST_SVC_TAG=1.1 LATEST_SVC2_TAG=2.5 docker-compose up -d 

을, 당신은 로컬 .env 파일에 이들을 배치 할 수 있습니다 : 나는 분명하지 않다

cat > .env <<EOF 
LATEST_SVC_TAG=1.1 
LATEST_SVC2_TAG=2.3 
EOF 

docker-compose up -d 
+0

미안 해요, 난 안 하드 코딩 할 수 있도록 필요한 버전 번호를 확인하고 CI 서버에서이 작업을 실행하십시오. 즉, 마스터하기위한 새로운 시도에서 다른 서비스의 최신 이미지를 모두 풀어 내고 일부 테스트를 실행합니다. – Alex

+0

이 작업을 CI 서버에서 실행해야하는 경우 CI 작업에 대한 버전 매개 변수를 만들어 CI 환경에 노출하십시오. 또는 이미지의 사용 가능한 모든 버전을 나열하고 태그를 검사하여 가장 최근 버전을 파악한 스크립트 *를 찾고 있습니까? – larsks

관련 문제