gpt4 book ai didi

php - 在 Docker 中从 php 连接到 mysql

转载 作者:行者123 更新时间:2023-11-29 19:30:27 26 4
gpt4 key购买 nike

我从 docker 开始,在进行正确的配置时遇到一些问题。该框架需要一个脚本来使后端工作。这需要一个sql连接。我找到了一种方法可以让phpmyadmin工作,但是脚本无法连接mysql数据库。如果对 Docker 有更多理解的人可以在出现问题时给我提示。

myhomepage-mysql:
image: mysql:5.7
container_name: myhomepage-mysql
environment:
- MYSQL_ROOT_PASSWORD=toor
- MYSQL_DATABASE=MyHomepage
- MYSQL_USER=homepage_admin
- MYSQL_PASSWORD=admin123

myhomepage-webserver:
image: phpdockerio/nginx:latest
container_name: myhomepage-webserver
volumes:
- ..:/var/www/myhomepage
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
ports:
- "8080:80"
links:
- myhomepage-php-fpm

myhomepage-php-fpm:
build: .
dockerfile: php-fpm/Dockerfile
container_name: myhomepage-php-fpm
volumes:
- ..:/var/www/myhomepage
- ./php-fpm/php-ini-overrides.ini:/etc/php/7.1/fpm/conf.d/99-overrides.ini
links:
- myhomepage-mysql

myhomepage-phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
container_name: myhomepage-phpmyadmin
environment:
PMA_USER: root
PMA_PASSWORD: toor
PMA_HOST: mysql
MYSQL_ROOT_PASSWORD: toor
ports:
- "8181:80"
volumes:
- /sessions
links:
- myhomepage-mysql:mysql

第二个问题是 phpmyadmin 给出以下消息:

 Your PHP MySQL library version 10.1.20-MariaDB differs from your MySQL server version 5.7.17. This may cause unpredictable behavior.

我可以从 http://localhost:8080/phpmyadmin 访问 phpmyadmin不是来自http://localhost:8181/

最佳答案

目前此配置有效:

project-nginx:
container_name: project-webserver
image: nginx:latest
volumes:
- ..:/var/www/project
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
- ./nginx/phpmyadmin.conf:/etc/nginx/conf.d/phpmyadmin.conf
ports:
- 80:80
links:
- project-php
- project-phpmyadmin

project-php:
build: .
dockerfile: php-fpm/Dockerfile
container_name: project-php
expose:
- 9000
volumes:
- ..:/var/www/project
- ./php-fpm/php-ini-overrides.ini:/etc/php/7.1/fpm/conf.d/99-overrides.ini
links:
- project-mysql

project-mysql:
image: mysql
container_name: project-mysql
volumes:
- /var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=toor
- MYSQL_DATABASE=project
- MYSQL_USER=project_admin
- MYSQL_PASSWORD=admin123

project-phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: project-phpmyadmin
environment:
- "PMA_HOST: project-mysql"
- "PMA_USER : root"
- "PMA_PASSWORD: toor"
links:
- project-mysql:db
volumes:
- /sessions
- ./phpmyadmin/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php

关于php - 在 Docker 中从 php 连接到 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41813850/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com