나는 도커에 매우 익숙하다. 도커 컨테이너가 aws의 인스턴스 ID 인 AWS_INSTANCE_ID와 같은 시스템 환경 변수를 읽어야하는 요구 사항이 있습니다. 일반적으로 부팅에, 나는도커 컨테이너 내의 시스템 환경 변수를 읽는 방법
EC2_INSTANCE_ID="`wget -q -O - http://169.254.169.254/latest/meta-data/instance-id || die \"wget instance-id has failed: $?\"`"
test -n "$EC2_INSTANCE_ID" || die 'cannot obtain instance-id'
export EC2_INSTANCE_ID=$EC2_INSTANCE_ID
EC2_AVAIL_ZONE="`wget -q -O - http://169.254.169.254/latest/meta-data/placement/availability-zone || die \"wget availability-zone has failed: $?\"`"
test -n "$EC2_AVAIL_ZONE" || die 'cannot obtain availability-zone'
export EC2_AVAIL_ZONE=$EC2_AVAIL_ZONE
EC2_REGION="`echo \"$EC2_AVAIL_ZONE\" | sed -e 's:\([0-9][0-9]*\)[a-z]*\$:\\1:'`"
현재 Dockerfile이
FROM node:boron
WORKDIR /usr/src/app
# Install app dependencies
COPY package.json .
RUN npm install
# Bundle app source
COPY . .
CMD [ "npm", "start" ]
가 어떻게이 도커 컨테이너에서 이러한 시스템 변수를 읽을 수 있습니다 다음과 같이 쉘 스크립트를 사용하여 이러한 환경 변수를 추가하는 데 사용?
'docker run -... .'? – BMitch
[Docker 컨테이너에 환경 변수를 전달하려면 어떻게합니까?] (https://stackoverflow.com/questions/30494050/how-do-i-pass-environment-variables-to-docker-containers) – juanlumn
@BMitch AWS에서 그렇게 실행할 수는 없습니다. 나는 그것을 처리 할 ECS 서비스를 사용하고 있습니다. –