Executando vários projetos Dockerize ao mesmo tempo usando PHP, MySQL, nginx

Problema

Tenho projetos comdocker-compose configuração com a mesma configuração (PHP, MySQL, nginx). Quando executo um projeto comdocker-compose up não há um problema, mas preciso alternar entre eles algumas vezes por dia para o desenvolvimento.

Os problemas:

as configurações de compartilhamento para a mesma porta para o nginxcompartilhar configuração para DB e conexão padrão (nome e usuários)domínios para cada projetoeu tenhoDocker for Mac - BeiraPara agora

Agora, basta executarup edown -v cada vez. Principalmente, os projetos estão na mesma versão PHP (deveria estar) e no MySQL.

IdéiasBalanceador de carga

Uma idéia é criar configuração na pasta principalworkspace, docker-compose com algum loadbalancer que seja, algumas regras irão gerar domínio para determinado projeto com volume como pasta principal e com um servidor MySql e poucos DB - mas essa é uma ideia crua.

Pergunta, questão

Que solução é trabalhar com determinada situação?

propor alguma estrutura ou configuração do docker para resolver configurações independentes?AtualizarMeus arquivos de composição de encaixe

versão: '2.1'

Configuração de servidor único para dev
services:
  app:
    image: ${PHP_IMAGE}
    volumes:
     - ${COMPOSE_DIR}/../../:/var/www:cached
     - ${COMPOSER_HOME}:/root/.composer:cached
    depends_on:
     - db
    environment:
     - SYMFONY_ENV=${SYMFONY_ENV-prod}
     - SYMFONY_DEBUG
     - SYMFONY_HTTP_CACHE
     - SYMFONY_HTTP_CACHE_CLASS
     - SYMFONY_TRUSTED_PROXIES
     - DATABASE_USER
     - DATABASE_PASSWORD
     - DATABASE_NAME
     - DATABASE_HOST=db

  web:
    image: ${NGINX_IMAGE}
    volumes_from:
     - app:ro
    ports:
     - "8080:80"
    environment:
     - SYMFONY_ENV=${SYMFONY_ENV-prod}
     - MAX_BODY_SIZE=20
     - FASTCGI_PASS=app:9000
     - TIMEOUT=190
     - DOCKER0NET
    command: /bin/bash -c "cd /var/www && cp -a doc/nginx/ez_params.d /etc/nginx && bin/vhost.sh --template-file=doc/nginx/vhost.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"

  db:
    image: ${MYSQL_IMAGE}
    volumes:
     - ${COMPOSE_DIR}/entrypoint/mysql:/docker-entrypoint-initdb.d/:ro
    environment:
     - MYSQL_RANDOM_ROOT_PASSWORD=1
     - MYSQL_USER=$DATABASE_USER
     - MYSQL_PASSWORD=$DATABASE_PASSWORD
     - MYSQL_DATABASE=$DATABASE_NAME
     - TERM=dumb

Diante disso, como eu disse, gostaria de ter projetos em execução com diferentes versões do PHP. Cada um tem o mesmonginx configuração, então precisa de alguma forma ter a possibilidade de executá-las, fácil e simultaneamente.

Entenda a resposta de @Vladimir Kovpak, mas trabalhar dessa maneira manualmente gerará muito trabalho. Cada projeto possui sua própria configuração docker-compose.

O que seria perfeitoCenário 1Vá para o projeto, execute o comando para criar corretamente ao docker-composePoderia fazer um trabalho devpoderia ter uma página acessível por meio de alguns domínios dinâmicosexecutar comando para fechar o projetoCenário 2Vá para o projeto, execute o comando para criar corretamente ao docker-composeVá para outro projeto, execute o comando para criar corretamente ao docker-composeVá para outro projeto, execute o comando para criar corretamente ao docker-composePoderia fazer um trabalho devpoderia ter uma página acessível por meio de alguns domínios dinâmicosexecutar comando para fechar o projeto

Poderia trabalhar com todo o projeto ao mesmo tempo. O primeiro passo é a proposição - qualquer inicialização e fechamento seria bom, pois não doloroso - deve ser rápida e fácil.

questionAnswers(2)

yourAnswerToTheQuestion