Suche…


Bemerkungen

Standardmäßig richtet Compose ein einzelnes Netzwerk für Ihre App ein. Jeder Container für einen Dienst tritt dem Standardnetzwerk bei und kann sowohl von anderen Containern in diesem Netzwerk erreicht werden als auch von ihnen unter einem Hostnamen erkannt werden, der mit dem Containernamen identisch ist.

Über Links können Sie zusätzliche Aliase definieren, unter denen ein Dienst von einem anderen Dienst aus erreichbar ist. Sie sind nicht erforderlich, damit Dienste kommunizieren können. Standardmäßig kann jeder Dienst jeden anderen Dienst unter dem Namen dieses Dienstes erreichen.

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

So erstellen Sie eine grundlegende LAMP-Umgebung mit Standardnetzwerk

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

Beachten Sie, dass die Nginx-Konfiguration vereinfacht ist. Die oben genannten Funktionen sollten jedoch zum Testen funktionieren. Im Wesentlichen müssen Sie lediglich die PHP-App verwenden. Karten zu Port 81, um Konflikte auf dem Host zu vermeiden - passen Sie sie bei Bedarf an.

In Bezug auf die Verknüpfung können Sie docker-compose exec mysql ping -c2 nginx sehen: Wenn Sie docker-compose exec mysql ping -c2 nginx ausführen: docker-compose exec mysql ping -c2 nginx zum Ping vom Mysql-Container zum Nginx-Container, werden Sie erfolgreich sein, obwohl zwischen diesen Containern keine Links angegeben sind . Docker Compose verwaltet diese Links im Standardnetzwerk für Sie.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow