docker-compose 如何使用默认网络创建基本的LAMP环境
示例
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:
- phpnginx/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,以避免主机冲突-根据需要进行调整。
关于链接,您可以看到,如果运行:从mysql容器docker-composeexecmysqlping-c2nginxping到nginx容器,即使在这些容器之间未指定任何链接,您也将成功。DockerCompose将为您维护默认网络中的那些链接。