Je suis très nouveau dans le docker. J'ai une exigence où le conteneur docker devrait lire la variable d'environnement système comme AWS_INSTANCE_ID qui est un identifiant d'instance dans aws. Normalement, au démarrage, j'ajouter ces variables d'environnement à l'aide d'un script shell comme suitComment lire les variables d'environnement système à l'intérieur du conteneur docker
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:'`"
actuel Dockerfile
FROM node:boron
WORKDIR /usr/src/app
# Install app dependencies
COPY package.json .
RUN npm install
# Bundle app source
COPY . .
CMD [ "npm", "start" ]
Comment puis-je lire ces variables système dans le conteneur Docker?
'docker run -e .. .'? – BMitch
Copie possible de [Comment transmettre les variables d'environnement aux conteneurs Docker?] (Https://stackoverflow.com/questions/30494050/how-do-i-pass-environment-variables-to-docker-containers) – juanlumn
@BMitch Je ne peux pas l'exécuter comme ça dans AWS. J'utilise le service ECS qui va gérer cela. –