2017-07-10 2 views
0

Lets sagen, dass wir zwei Web-Services haben: alpha & betaAliase für externe Behälter über das Netzwerk verbunden

1) docker-compose.yml für alpha:

version: '2' 

services: 
    web: 
     build: . 
     env_file: local.env 
     networks: 
      - default 
      - beta 

    networks: 
     beta: 
      external: 
       name: beta_default 

2) docker-compose.yml für beta:

version: '2' 

services: 
    web: 
     build: . 
     env_file: .env 
     expose: 
      - "5000" 

So kann ich interagieren (z. B. ping) beta_web_1 Container von alpha_web_1 Container. Was ich will ist, einen Alias ​​für beta_web_1 Container zu machen, so dass ich es nach einer gültigen URL benennen könnte, zum Beispiel: beta.local.

Ich mag diese in docker-compose.yml für alpha oder in irgendeiner Art und Weise geschehen, dass es im Inneren alpha Umfang der Ansicht hält, so dass ich nicht für beta_web_1

die tatsächlichen systemweiten Namen ändern müssen Ist die möglich?

Antwort

0

Ich hatte verpasst, dass es eine aliases Optionen unter networks gibt. Auf diese Weise, wenn wir die docker-compose.yml Dateien zu ändern:

1) alpha/Docker-compose.yml:

version: '2' 

services: 
    web: 
     build: . 
     env_file: local.env 
     networks: 
      default: 
      aliases: 
       - alpha.local 
      beta: 

networks: 
    beta: 
     external: 
      name: beta_default 

2) beta/Docker-compose.yml

version: '2' 

services: 
    web: 
     build: . 
     env_file: .env 
     expose: 
      - "5000" 
     networks: 
      default: 
      aliases: 
       - beta.local 
      alpha: 

networks: 
    alpha: 
     external: 
      name: alpha_default 

Jetzt können wir Ping beta.local Container von Alpha und alpha.local Container von Beta.

+0

ist es möglich, dasselbe für externe Endpunkte zu tun? für z.B. Wenn ich möchte, dass alpha zu einer externen IP (API-Endpunkt) gelangt, kann ich einen Alias ​​für diese IP in der Compose-Datei definieren? – tkyass

+0

@tkyass Wenn ich richtig verstehe, was Sie suchen, ist 'extra_hosts' https://docs.docker.com/compose/compose-file/#extra_hosts – chefarov

+0

das ist genau das, was ich suchte .. danke @chefarov – tkyass

Verwandte Themen