Para la empresa en la que trabajo, configuré un entorno docker usando docker-composer y varios contenedores para que todos podamos beneficiarnos de tener el mismo entorno. Creé un registro DNS de subdominio (dev.company.com) que apunta a 127.0.0.1. Esto funciona bien para llegar a proyectos desde el navegador a los vhosts de Apache apropiados. Sin embargo, el problema es que no podemos resolver este dominio dentro del contenedor de PHP porque el DNS apunta hacia 127.0.0.1. ¿Cómo puedo agregar una entrada personalizada al contenedor de Docker php para resolver * .dev.company.com en el contenedor de Apache?
Además, agregar esto a /etc/hosts no es realmente una opción porque ejecutamos más de 50 proyectos.
Encontré algunas soluciones en línea que solo decían agregar php al mismo contenedor, pero esto anula el propósito de tener contenedores separados por servicio. Se agregó el archivo docker-composer como referencia.
Nota: Soy el único que usa Linux en la oficina, otros colegas usan Docker en Windows o Mac, por lo que una solución solo para Linux no es suficiente :)
version: "3.7" services: php: build: php env_file: - ./conf/php.config.env volumes: - ./htdocs:/htdocs expose: - "9000" links: - mysql - mssql - mail restart: always init: true apache: build: apache volumes: - ./htdocs:/htdocs:ro ports: - "80:80" - "443:443" links: - php restart: always init: true mysql: build: mysql env_file: - ./conf/mysql.config.env volumes: - ./mysql/data:/var/lib/mysql ports: - "3306:3306" restart: always mssql: image: microsoft/mssql-server-linux env_file: - ./conf/mssql.config.env volumes: - ./mssql/data:/var/opt/mssql/data ports: - "1433:1433" restart: always mail: image: schickling/mailcatcher ports: - "1080:1080" restart: always init: true redis: image: redis expose: - "6379" links: - php restart: always init: true