Sunt nou aici și aceasta este prima mea întrebare, așa că spuneți-mi dacă este ceva greșit în modul în care am pus-o.
Deci iată problema: construiesc o stivă LAMP cu 3 containere separate pentru nginx, maiadb și wordpress.
Întregul nginx și php-fpm par să funcționeze bine, deoarece pot accesa indexul site-ului și pot procesa paginile php. Mdb construiește wordpress db și creează un utilizator „wordpress@wordpress-php” cu toate privilegiile asupra acestuia.
Începe să meargă greșit când accesez site-ul pentru instalare, rămân blocat cu un: „Eroare la stabilirea conexiunii la baza de date”
Iată wp-config.php-ul meu, pe care îl copiez în directorul wordpress din interiorul containerului:
<?php
4 define( 'DB_NAME', 'wordpress' );
7 define( 'DB_USER', 'wordpress' );
10 define( 'DB_PASSWORD', 'wordpress' );
15 define( 'DB_HOST', 'mariadb' );
16 define( 'DB_CHARSET', 'utf8' );
17
19 define( 'DB_COLLATE', '' );
20 define('AUTHOR', 'yotillar');
21
22 // Authentication unique keys and salts.
23 define( 'AUTH_KEY', 'key' );
24 define( 'SECURE_AUTH_KEY', 'key' );
25 define( 'LOGGED_IN_KEY', 'key' );
26 define( 'NONCE_KEY', 'key' );
27 define( 'AUTH_SALT', 'salt' );
28 define( 'SECURE_AUTH_SALT', 'salt' );
29 define( 'LOGGED_IN_SALT', 'salt' );
30 define( 'NONCE_SALT', 'salt' );
31
38 $table_prefix = 'wp_';
51 define( 'WP_DEBUG', true );
52 define( 'WP_DEBUG_LOG', true );
53 define( 'WP_DEBUG_DISPLAY', false );
59 if ( ! defined( 'ABSPATH' ) ) {
60 »···define( 'ABSPATH', __DIR__ . '/' );
61 }
64 require_once ABSPATH . 'wp-settings.php';
65 ?>
Iată docker-compose.yaml meu:
versiune: "3.5"
2
3 retele:
4 rețea frontală:
5 șofer: pod
6 atașabil: fals
7 back-network:
8 șofer: pod
9 atașabil: fals
10
11 volume:
12 mdb-date:
13 wordpress:
14
15 servicii:
16
17 nginx:
18 depinde de:
19 - wordpress-php
20 build: „./services/nginx”
21 imagine: nginx:mytag
22 de volume:
23 - wordpress:/var/www/myserver/wordpress:rw
24 - „../logs/nginx_logs:/var/log/nginx:rw”
25 repornire: la eșec
26 porturi:
27 - „80:80”
28 - „443:443”
29 expune:
30 - 9000
31 de rețele:
32 - rețea frontală
33
34
35 wordpress-php:
36 depinde de:
37 - mariadb
38 build: „./services/wordpress”
39 imagine: wordpress-php:mytag
40 de volume:
41 - wordpress:/var/www/myserver/wordpress:rw
42 - „../logs/php7.3-fpm.log:/var/log/php7.3-fpm.log:rw”
43 repornire: la eșec
44 mediu:
45 - WORDPRESS_DB_HOST=mariadb:3306
46 - WORDPRESS_DB_NAME=wordpress
45 - WORDPRESS_DB_USER=wordpress
48 - WORDPRESS_DB_PASSWORD=wordpress
50 expune:
51 - 3306
52 - 9000
53 de rețele:
54 - rețea frontală
55 - rețea din spate
56
57
58 mariadb:
59 build: „./services/mariadb”
60 imagine: mariadb:mytag
61 de volume:
62 - mdb-data:/var/lib/mysql:rw
63 - „../logs/mariadb_logs/error.log:/var/log/mysql/error.log”
64 repornire: la eșec
65 mediu:
66 - MYSQL_DATABASE=wordpress
67 - MYSQL_USER=wordpress
68 - MYSQL_USER_PASSWORD=wordpress
69 - MYSQL_ROOT_PASSWORD=rădăcină
70 expune:
71 - 3306
72 de rețele:
73 - rețea din spate
74
Am setat adresa de legătură a mariadb pe 0.0.0.0 în ./etc/mysql/mariadb.conf.d/50-se rver.cnf și ./etc/mysql/my.cnf pentru a fi sigur că db-ul ascultă într-adevăr de la fiecare ip.
Cred că problema vine de la wp-config.php , dar după cum am înțeles într-un mediu docker-compose, puteți face referire la fiecare container cu numele lui în loc de ip și nu știu cum aș putea prelua IP-ul lui mariadb de pe wordpress -php.
Vă rog să mă ajutați,
multumesc anticipat celor care a citit pana aici! ^^