如何使用默认网络创建基本 LAMP 环境

泊坞窗,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;
    }
  }
}

注意 nginx 配置是简化的,但上面应该可用于测试 - 基本上它所做的只是代理 php 应用程序。映射到端口 81 以避免主机上的冲突 - 根据需要进行调整。

关于链接,你可以看到如果运行:docker-compose exec mysql ping -c2 nginx mysql 容器 ping nginx 容器,即使这些容器之间没有指定链接,你也会成功。Docker Compose 将为你保留默认网络中的链接。