Szukaj…


Uwagi

Domyślnie Compose tworzy pojedynczą sieć dla Twojej aplikacji. Każdy kontener dla usługi dołącza do domyślnej sieci i jest dostępny zarówno dla innych kontenerów w tej sieci, jak i dla nich wykrywalny pod nazwą hosta identyczną z nazwą kontenera.

Łącza pozwalają zdefiniować dodatkowe aliasy, poprzez które usługa jest osiągalna z innej usługi. Nie są wymagane do umożliwienia komunikacji między usługami - domyślnie każda usługa może dotrzeć do dowolnej innej usługi o nazwie tej usługi.

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

Jak stworzyć podstawowe środowisko LAMP z domyślną obsługą sieci

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

Zauważ, że konfiguracja nginx jest uproszczona, ale powyżej powinna działać do testowania - w zasadzie wszystko, co robi, to proxy aplikacji php. Mapy do portu 81, aby uniknąć konfliktów na hoście - dostosuj w razie potrzeby.

Jeśli chodzi o łączenie, możesz zobaczyć, że jeśli uruchomisz: docker-compose exec mysql ping -c2 nginx celu pingowania z kontenera mysql do kontenera nginx, odniesiesz sukces, nawet jeśli między tymi kontenerami nie ma określonych łączy . Docker Compose utrzyma te linki w domyślnej sieci.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow