根据码头工作者撰写yaml,
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_network_getaddresses:getaddrinfo failed:再试一次 - 服务器没有响应(或者没有正确配置本地服务器的套接字)。
登录phpMyadmin(http://127.0.0.1:8080)时。
我试图解决这个问题,但没有任何作用。 你能找到解决方案吗? 欢迎任何建议/意见。
答案 0 :(得分:0)
为了使用links
服务,你应该db
你的phpmyadmin到数据库服务
pma:
image: phpmyadmin/phpmyadmin
links:
- db
container_name: phpmyadmin
restart: always
ports:
- "8080:80"
environment:
- PMA_HOST: maria_db
这里有更多关于docker compose services links
的信息答案 1 :(得分:0)
我也遇到了类似的问题,请在链接指令-container-name:db中尝试以下操作
链接: -mariadb:db
答案 2 :(得分:0)
如果您在docker compose中设置了以下环境变量:
pma:
environment:
- PMA_ARBITRARY=1
然后,您将有机会在登录屏幕上手动输入主机服务器。在此处输入数据库服务的名称。在您的情况下,服务的名称为db