如何使用預設網路建立基本 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 將為你保留預設網路中的連結。