2015-12-16 1 views
1

Lorsque je lis le Docker docs, j'ai l'impression qu'il est possible de rendre une variable d'un conteneur disponible dans un autre conteneur lors de l'utilisation de Docker Compose.Rendre une variable disponible entre les conteneurs?

Donc, dans le récipient A que je fais dans un script

export PASS=abc 

et dans le docker-compose.yml

containera: 
    image: ... 
    environment: 
    - PASS 

containerb: 
    build: ... 
    links: 
    - containera:ca 

Mais quand je fais env dans le récipient B, puis PASS est vide.

Question

Comment puis-je faire la valeur générée dans le récipient de PASS A disponible dans le récipient B? Docker ne partage que des variables d'environnement provenant de Docker.

Répondre

1

see their docs here

Étant donné que votre valeur est générée par un processus s'exécutant dans containera, Docker n'a pas conscience de sa valeur.

Vous devez soit:

  • définir une valeur statique dans Dockerfile/docker-compose.yml
  • définir une variable ENV statique avec un port/terminal pour accéder à un service à l'intérieur containera qui renverrait le mot de passe/jeton généré.
+0

Le point 2 n'est-il pas en conflit avec la deuxième phrase? D'après ce que je comprends maintenant, je ne peux pas changer la variable ENV que Docker donne à d'autres conteneurs? –

+1

@JasmineLognnes J'ai clarifié la 2ème balle, j'espère que cela a plus de sens. –