据 Docker 说,
version: '3'
services:
db:
image: mariadb:latest
container_name: mariadb
restart: always
volumes:
- ./mysql/initdb/:/docker-entrypoint-initdb.d
- ./mysql/data/:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=root-pwd
- MYSQL_DATABASE=appdb
- MYSQL_USER=appuser
- MYSQL_PASSWORD=user-pwd
php:
image: php:fpm-alpine
container_name: php
restart: always
volumes:
- ./www/:/var/www/html
expose:
- "9000"
nginx:
image: nginx:alpine
container_name: nginx
restart: always
volumes:
- ./nginx/conf/nginx.conf:/etc/nginx/conf/nginx.conf:ro
- ./nginx/conf.d:/etc/nginx/conf.d:ro
- ./www:/var/www/html
ports:
- "80:80"
pma:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
restart: always
ports:
- "8080:80"
它会产生一个错误:
2002-php\u network\u getaddresses:getaddrinfo失败:重试-服务器没有响应(或者本地服务器的套接字配置不正确)。
登录到phpmyadmin时(http://127.0.0.1:8080).
我曾试图解决这个问题,但没有任何效果。你能找到解决办法吗?欢迎提出任何建议/意见。
3条答案
按热度按时间1sbrub3j1#
如果在docker compose中设置以下环境变量:
然后您将有机会在登录屏幕上手动进入主机服务器。在那里输入数据库服务的名称。在您的情况下,服务的名称是
db
daupos2t2#
我有一个类似的问题,在links指令-容器中尝试这个-name:db as 在......下面
链接:-mariadb:db
izj3ouym3#
你应该
links
为了使用db
服务下面是有关docker compose services链接的更多信息