Connecter un container php8-apache avec un serveur Mysql. (J'ai plus d'idée :cry:)
Bonjour ou bonsoir.
Je suis assez débutant en docker. Je réussi habituellement à me débrouiller seul mais la je suis complètement bloqué depuis 2 semaine sur le même problème. Se problème va me rendre fou !
Je dois exécuter un serveur php-apache pour mettre le site web de mon serveur de jeu. J'utilise un cms très complet et assez connu "CMW". Le cms exige une base de donné avec ça, donc j'ai aussi un docker mysql.
Lors de la configuration du site depuis la page web, je dois renseigner les information de la DB et c'est là mon problème... IMPOSSIBLE de se connecter à la base. J'ai essayer plein de truc et rien n'y fait.
Se que je sais:
- Le serveur DB fonctionne bien
- Le serveur php a php-mysli
- Le serveur php n'est pas capable de se connecter aussi bien à la base de donné en local ou à un autre serveur Mysql opérationnel sur un autre serveur
- L'installation en VM sans docker de la même chose fonctionne parfaitement
Pour résumer mon réseau
- j'utilise Traefik comme proxy et derrière j'ai mes application.
- docker-compose
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
| version: "3.3"
services:
###############################################################
# SERVEUR WEB CRAFTMYWEBSITE (SITE, FORUM, SHOP)
###############################################################
phpweb:
build: "./"
# image: "php:8.0.3-apache"
container_name: "php_web"
restart: always
volumes:
- "./phpweb/php:/var/www/html/"
expose:
- 80
- 443
- 111
ports:
- 8000:80
- 8043:443
- 111:111
depends_on:
- mysqlweb
links:
- mysqlweb
labels:
- "traefik.enable=true"
- "traefik.http.routers.phpweb.entryPoints=web"
- "traefik.http.routers.phpweb.rule=Host(`########`)"
- "traefik.http.routers.phpwebS.entryPoints=websecure"
- "traefik.http.routers.phpwebS.rule=Host(`########`)"
# environment:
# - DATABASE_URL='mysql://####:#####@#.#.#.#:3307/CMWS' ------Avec ou sans... ça ne change rien
networks:
- traefik
###############################################################
# SERVEUR MYSQL DATABASE POUR USAGE WEB
###############################################################
mysqlweb:
image: "mysql"
container_name: "mysql_web"
restart: always
expose:
- 3306
ports:
- 3307:3306
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=nom_db
volumes:
- ./mysql:/var/lib/mysql
networks:
- traefik
###############################################################
# INTERFACE GRAPHIQUE POUR MYSQL
###############################################################
adminer:
image: "adminer"
container_name: "Adminer"
restart: always
ports:
- 8001:8080
labels:
- "traefik.enable=true"
- "traefik.http.routers.adminer.entryPoints=web"
- "traefik.http.routers.adminer.rule=Host(`#########`)"
networks:
- traefik
networks:
traefik:
external:
name: traefik_webgateway |
- Dockerfile
Code:
1 2 3 4 5 6 7 8
| FROM php:8.0.3-apache-buster
RUN apt-get update
RUN apt-get -y install curl
RUN apt-get install -y libzip-dev
RUN apt-get install -y zip
RUN docker-php-ext-install zip
RUN docker-php-ext-install -j$(nproc) mysqli |
Je sais plus quoi faire :cry::cry::cry::cry:
Même le service technique du cms ne sais pas quoi faire pour m'aider !