Phpmyadmin 无法连接到 macOS 上的 mysql 数据库 (docker-compose.yml)
Phpmyadmin won't connect to mysql database on macOS (docker-compose.yml)
以下代码适用于 Windows 11,但不适用于某些基于 Intel 的 macOS 系统(在本例中为 High Sierra)。
version: "3.3"
services:
web:
image: nginx:latest
ports:
- 8080:80
volumes:
- ./app:/app
- ./default.conf:/etc/nginx/conf.d/default.conf
links:
- php
networks:
- wmnet
php:
image: php:fpm
volumes:
- ./app:/app
networks:
- wmnet
command:
- /bin/sh
- -c
- |
docker-php-ext-install mysqli
php-fpm
db:
image: mysql:latest
command:
--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
--default-authentication-plugin=mysql_native_password
environment:
MYSQL_ROOT_HOST: '%'
MYSQL_ROOT_USER: root
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: wm
MYSQL_USER: user1
MYSQL_PASSWORD: user1
networks:
- wmnet
phpmyadmin:
depends_on:
- db
image: phpmyadmin
links:
- db
ports:
- 5502:80
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: root
PMA_USER: user1
PMA_PASSWORD: user1
networks:
- wmnet
networks:
wmnet:
这里的概念是 运行 通过 docker-compose.yml 来简化本地开发中没有经验的 Docker 用户的调试。现在我已经到了我对 docker 了解不够的地步,为什么代码突然 运行s 在某些系统上而不是其他系统上。
一些额外的信息:容器 运行 没有抛出任何错误,Phpmyadmin 只得到它找不到 SQL 服务器的错误。
看来,您需要删除所有内容。
(在这种情况下 Docker Dekstop)
- 数量
- 图片
- 容器
之后它工作得很好。
以下代码适用于 Windows 11,但不适用于某些基于 Intel 的 macOS 系统(在本例中为 High Sierra)。
version: "3.3"
services:
web:
image: nginx:latest
ports:
- 8080:80
volumes:
- ./app:/app
- ./default.conf:/etc/nginx/conf.d/default.conf
links:
- php
networks:
- wmnet
php:
image: php:fpm
volumes:
- ./app:/app
networks:
- wmnet
command:
- /bin/sh
- -c
- |
docker-php-ext-install mysqli
php-fpm
db:
image: mysql:latest
command:
--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
--default-authentication-plugin=mysql_native_password
environment:
MYSQL_ROOT_HOST: '%'
MYSQL_ROOT_USER: root
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: wm
MYSQL_USER: user1
MYSQL_PASSWORD: user1
networks:
- wmnet
phpmyadmin:
depends_on:
- db
image: phpmyadmin
links:
- db
ports:
- 5502:80
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: root
PMA_USER: user1
PMA_PASSWORD: user1
networks:
- wmnet
networks:
wmnet:
这里的概念是 运行 通过 docker-compose.yml 来简化本地开发中没有经验的 Docker 用户的调试。现在我已经到了我对 docker 了解不够的地步,为什么代码突然 运行s 在某些系统上而不是其他系统上。
一些额外的信息:容器 运行 没有抛出任何错误,Phpmyadmin 只得到它找不到 SQL 服务器的错误。
看来,您需要删除所有内容。 (在这种情况下 Docker Dekstop)
- 数量
- 图片
- 容器
之后它工作得很好。