Docker Compose - 与 Phpmyadmin 和 MySQL 的连接无法正常工作
P粉615886660
2023-08-28 09:00:04
<p>我需要一种使用 Docker-compose 的简单方法来创建包含 PHP、NGINX、MySQL 和 phpmyadmin 的环境。</p>
<p>我已经使用 NGINX 成功创建了 PHP 环境。</p>
<p>现在我想添加一个带有 MySQL 和 phpmyadmin 的数据库。这两个组件似乎不起作用。例如,我无法通过指定端口“8081”访问phpmyadmin。我使用本地 IP 地址和地址末尾的端口访问本地服务器。</p>
<p>当我想调用 phpmyadmin 时,浏览器窗口告诉我“无法连接到服务器”。</p>
<p>这是 docker-compose.yml 文件:</p>
<pre class="brush:yaml;toolbar:false;">version: "3.9"
services:
web:
image: nginx:latest
ports:
- "8080:80"
volumes:
- ./src:/var/www/html
- ./default.conf:/etc/nginx/conf.d/default.conf
links:
- php-fpm
php-fpm:
image: php:8-fpm
volumes:
- ./src:/var/www/html
mysql:
image: mysql
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: '<mypassword>'
MYSQL_DATABASE: baton
MYSQL_USER: baton
MYSQL_PASSWORD: '<mypassword>'
ports:
- "3306:3306"
volumes:
- ./database/mysql:/var/lib/mysql
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: pma
links:
- mysql
environment:
PMA_HOST: mysql
PMA_PORT: 3306
PMA_ARBITRARY: 1
restart: always
ports:
- 8081:80
</pre>
<p>希望大家能帮忙!</p>
现在我发现我通过phpmyadmin连接数据库时犯了错误。我得到了第二个数据库,它已经在端口 3306 上运行。我现在切换到现有数据库,现在连接可以工作了!