Docker, docker-compose configurações do aplicativo

2

Estou começando a migrar meu aplicativo para contêineres do Docker: Eu uso Ngnix, supervisord, gunicorn, frasco python, aipo, flor, lighttpd, RabbitMQ e Postgresql. Na minha máquina virtual original, mantenho todas as minhas configurações sob / usr / local / src / application / conf / Em settings.py eu defino meu:

SQLALCHEMY_DATABASE_URI

No celeryconfig.py eu defino:

BROKER_URL

Eu vou criar 5 containers:

  • Balanceador de carga do Ngnix
  • API do Flask
  • Aipo
  • RabbitMQ
  • Lighttpd

Estou usando o docker-compose e volumes. Desde agora todos os meus endereços IP são localhost (127.0.0.1)

  1. Qual é a recomendação para cada um dos meus contêineres para acessar uma configuração comum? Volumes?

  2. Como sei qual endereço IP está atribuído a cada contêiner para que eu possa definir minhas configurações? Por exemplo, quando o RabbitMQ inicia o IP que eu devo configurar em BROKER_URL?

  3. Como meu aplicativo do Docker ainda aponta para o meu repositório do git, posso apontá-lo para minha pasta de host. Devo usar volumes aqui?

    
por spicyramen 15.02.2016 / 08:20

1 resposta

3

  1. Em relação à sua configuração, você pode passar a compor a variável de ambiente usando env_file para um arquivo ou ambiente diretamente: link
  2. Para o IP, quando você vincula contêineres no Compose, o nome do contêiner definido no seu yml será o nome do host desse contêiner. Você não precisa de um IP, apenas o nome de usuário. Você pode tentar isso fazendo exec bash em um contêiner de composição e tentando pingar um outro contêiner com seu nome.
  3. O que você quer dizer com "apontando para sua pasta de host?", tente colocar o máximo que puder diretamente no contêiner, mas se realmente precisar extrair alguns dados para seu host FS, então sim você precisará de volumes .
por 04.04.2016 / 16:09