Vários contêineres docker de servidor web escutando em diferentes IPs de host

Vários contêineres docker de servidor web escutando em diferentes IPs de host

Eu tenho um servidor com vários endereços IP. Quero que diferentes contêineres nginx escutem :80dois :443IPs neste host.

/srv/www1/docker-compose.yml:

nginx:
  image: nginx:mainline-alpine
  container_name: www1
  ports:
    - "69.69.69.1:80:80/tcp"
    - "69.69.69.1:443:443/tcp"

/srv/www2/docker-compose.yml:

nginx:
  image: nginx:mainline-alpine
  container_name: www2
  ports:
    - "69.69.69.2:80:80/tcp"
    - "69.69.69.2:443:443/tcp"

QualquerO contêiner pode iniciar primeiro sem problemas, mas se eu tentar iniciar o segundo contêiner ( www2por exemplo), enquanto o primeiro já estiver em execução, o primeiro contêiner será interrompido e este erro será gerado:

WARNING: Found orphan containers (www1) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.

Não, eles não são o mesmo contêiner - os docker-compose.ymlarquivos nem estão no mesmo diretório. Parece que o docker usa os campos image:e ports:paraidentificarcontêineres, mas ignora os endereços IP.

Isso é um inseto? Como posso fazer isso funcionar?

Responder1

A execução dos contêineres a partir de um único arquivo docker-compose está funcionando.

/srv/www/docker-compose.yml:

version: '3'
services:

    nginx1:
      image: nginx:mainline-alpine
      container_name: www1
      ports:
        - "69.69.69.1:80:80/tcp"
        - "69.69.69.1:443:443/tcp"
    
    nginx2:
      image: nginx:mainline-alpine
      container_name: www2
      ports:
        - "69.69.69.2:80:80/tcp"
        - "69.69.69.2:443:443/tcp"

Verifique com ss:

# ss -tln | grep ':80 \|:443 '
LISTEN 0      4096           69.69.69.1:443        0.0.0.0:*          
LISTEN 0      4096           69.69.69.2:443        0.0.0.0:*          
LISTEN 0      4096           69.69.69.1:80         0.0.0.0:*          
LISTEN 0      4096           69.69.69.2:80         0.0.0.0:*

informação relacionada