如何使用默认网络创建基本 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 将为你保留默认网络中的链接。