Buscar..


Observaciones

Por defecto, Compose configura una sola red para su aplicación. Cada contenedor para un servicio se une a la red predeterminada y es accesible tanto por otros contenedores en esa red como por un nombre de host idéntico al nombre del contenedor.

Los enlaces le permiten definir alias adicionales mediante los cuales se puede acceder a un servicio desde otro servicio. No están obligados a permitir que los servicios se comuniquen; de forma predeterminada, cualquier servicio puede llegar a cualquier otro servicio a su nombre.

https://docs.docker.com/compose/networking/

Cómo crear un entorno LAMP básico con redes por defecto

docker-compose.yml

version: '2'
services:
  php:
     image: phpmyadmin/phpmyadmin
     links:
       - mysql:db
     depends_on:
       - mysql

  mysql:
    image: k0st/alpine-mariadb
    volumes:
      - ./data/mysql:/var/lib/mysql
    environment:
      - MYSQL_DATABASE=mydb
      - MYSQL_USER=myuser
      - MYSQL_PASSWORD=mypass 

  nginx:
    image: nginx:stable-alpine
    ports:
      - "81:80"
    volumes:
      - ./nginx/log:/var/log/nginx
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
    depends_on:
      - php

nginx / nginx.conf

worker_processes  1;
events {
  worker_connections  1024;
}
http {
  sendfile  off;
  server {
    listen 80;
 
    location / {
      proxy_pass  http://php;
      proxy_set_header Host $host;
      proxy_redirect     off;
    }
  }
}

Tenga en cuenta que la configuración de nginx está simplificada, pero lo anterior debería funcionar para las pruebas; básicamente, todo lo que está haciendo es usar la aplicación php. Se asigna al puerto 81 para evitar conflictos en el host; ajústelos según sea necesario.

En cuanto a la vinculación, se puede ver que si se ejecuta: docker-compose exec mysql ping -c2 nginx hacer ping desde el contenedor de MySQL al contenedor nginx, usted tendrá éxito a pesar de que no hay enlaces especificados entre estos contenedores. Docker Compose mantendrá esos enlaces en la red predeterminada para usted.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow