Ricerca…


Osservazioni

Per impostazione predefinita, Compose imposta una singola rete per la tua app. Ogni contenitore di un servizio si unisce alla rete predefinita ed è raggiungibile sia da altri contenitori su quella rete, sia individuabile da essi in un nome host identico al nome del contenitore.

I collegamenti consentono di definire alias aggiuntivi mediante i quali un servizio è raggiungibile da un altro servizio. Non è necessario abilitare i servizi per comunicare: per impostazione predefinita, qualsiasi servizio può raggiungere qualsiasi altro servizio con il nome di quel servizio.

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

Come creare un ambiente LAMP di base con networking predefinito

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

Nota che la configurazione di nginx è semplificata, ma in precedenza dovrebbe funzionare per il test: in pratica tutto ciò che sta facendo è il proxy dell'applicazione php. Esegui il mapping sulla porta 81 per evitare conflitti sull'host - regolare come necessario.

Per quanto riguarda il collegamento, puoi vedere che se esegui: docker-compose exec mysql ping -c2 nginx per eseguire il ping dal contenitore mysql al contenitore nginx, avrai successo anche se non ci sono collegamenti specificati tra questi contenitori . Docker Compose gestirà tali collegamenti nella rete predefinita per te.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow