Recherche…


Remarques

Par défaut, Compose configure un réseau unique pour votre application. Chaque conteneur d'un service rejoint le réseau par défaut et est accessible à la fois par d'autres conteneurs sur ce réseau et détectable par ceux-ci à un nom d'hôte identique au nom du conteneur.

Les liens vous permettent de définir des alias supplémentaires par lesquels un service est accessible depuis un autre service. Ils ne sont pas requis pour permettre aux services de communiquer - par défaut, tout service peut accéder à tout autre service au nom de ce service.

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

Comment créer un environnement LAMP de base avec la mise en réseau par défaut

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;
    }
  }
}

Notez que la configuration de nginx est simplifiée, mais que cela devrait fonctionner pour les tests. Mappe au port 81 pour éviter les conflits sur l'hôte - ajustez au besoin.

En ce qui concerne la liaison, vous pouvez voir que si vous exécutez: docker-compose exec mysql ping -c2 nginx ping du conteneur mysql au conteneur nginx, vous réussirez même si il n'y a aucun lien entre ces conteneurs spécifiés. Docker Compose conservera ces liens dans le réseau par défaut pour vous.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow