我正在学习docker,并且能够在生产环境中运行docker-compose
。下面是我的生产文件
version: "3"
services:
app:
container_name: myapp
build:
context: .
dockerfile: docker/Fpm.Production.Dockerfile
working_dir: /var/www/html/dockerapps/laravel-docker-boilerplate
volumes:
- .:/var/www/html/dockerapps/laravel-docker-boilerplate
links:
- db
networks:
- mynet
db:
image: mysql:5.7
container_name: db
volumes:
- dbdata:/var/lib/mysql
environment:
MYSQL_DATABASE: laraapp
MYSQL_USER: laraveluser
MYSQL_PASSWORD: laravel
MYSQL_ROOT_PASSWORD: 123456
networks:
- mynet
#Volumes
volumes:
dbdata:
driver: local
#Docker Networks
networks:
mynet:
driver: bridge
.env中的数据库配置
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=laraapp
DB_USERNAME=laraveluser
DB_PASSWORD=laravel
迁移成功运行,但是当我尝试创建新用户时,遇到以下错误:
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: No address associated with hostname (SQL: select count(*) as aggregate from `users` where `email` = user@gmail.com)
预先感谢:-)
docker ps
命令的输出
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a2ad106d6cd4 laravel-docker-boilerplate_app "docker-php-entrypoi…" 21 minutes ago Up 21 minutes 9000/tcp myapp
b45032551712 mysql:5.7 "docker-entrypoint.s…" 21 minutes ago Up 21 minutes 3306/tcp, 33060/tcp db