无法使用docker compose将phpmyadmin连接到数据库
也许这个问题以前被问过几次,但我没有得到一个有效的答案来解决我的问题 我试图使用无法使用docker compose将phpmyadmin连接到数据库,php,mysql,docker,phpmyadmin,docker-compose,Php,Mysql,Docker,Phpmyadmin,Docker Compose,也许这个问题以前被问过几次,但我没有得到一个有效的答案来解决我的问题 我试图使用docker compose在不同容器上的docker中运行phpmyadmin,但它始终会出现以下错误: #2002-连接被拒绝-服务器没有响应(或本地服务器的套接字配置不正确) 我的docker compose文件包含以下代码: version: "2" services: web: build: . ports: - "80:80" networks: -
docker compose
在不同容器上的docker中运行phpmyadmin,但它始终会出现以下错误:
#2002-连接被拒绝-服务器没有响应(或本地服务器的套接字配置不正确)
我的docker compose文件包含以下代码:
version: "2"
services:
web:
build: .
ports:
- "80:80"
networks:
- web
volumes:
- .:/code
restart: always
db:
image: "mysql:5"
volumes:
- ./mysql:/etc/mysql/conf.d
environment:
MYSQL_ROOT_PASSWORD: toor
MYSQL_DATABASE: phpapp
networks:
- web
restart: always
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
PMA_PORT: 3306
PMA_HOST: db
PMA_USER: root
PMA_PASSWORD: toor
ports:
- "8000:80"
restart: always
networks:
- web
networks:
web:
driver: bridge
在web
容器中,我正在尝试连接数据库,它工作正常,但问题发生在phpmyadmin
连接上
任何帮助都将不胜感激。:) 有趣的是,我已经运行了您的compose文件,并且可以访问phpmyadmin 来自主持人 不得不将端口8000更改为8004(主机上的端口8000已被占用) 如果数据库容器启动速度不够快,phpmyadmin无法连接,我建议在phpmyadmin服务中添加dependens\u on。确保数据库在phpmyadmin之前启动
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
PMA_PORT: 3306
PMA_HOST: db
PMA_USER: root
PMA_PASSWORD: toor
ports:
- "8004:80"
restart: always
depends_on:
- db
networks:
- web
如果问题仍然存在,请显示docker compose up的日志。现在您需要向mysql服务添加连接到phpmyadmin的命令
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
PMA_PORT: 3306
PMA_HOST: db
PMA_USER: root
PMA_PASSWORD: toor
ports:
- "8004:80"
restart: always
depends_on:
- db
networks:
- web
命令:--默认身份验证插件=mysql\u本机\u密码
version: "2"
services:
db:
image: mysql:latest
command: --default-authentication-plugin=mysql_native_password
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: drupal
MYSQL_USER: user
MYSQL_PASSWORD: test
MYSQL_ROOT_PASSWORD: test
volumes:
- ./dump:/docker-entrypoint-initdb.d
- /var/lib/mysql
networks:
- default
phpmyadmin:
image: phpmyadmin/phpmyadmin
links:
- db:db
ports:
- 8000:80
environment:
PMA_HOST: db
MYSQL_USER: user
MYSQL_PASSWORD: test
MYSQL_ROOT_PASSWORD: test
这才是真正的问题。谢谢