Puncte:1

Nu se poate conecta Wordpress și MariaDB pe stiva LAMP cu docker-compose

drapel se

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! ^^

Michael Hampton avatar
drapel cz
Verificați jurnalul de erori php-fpm pentru orice indicii. Probabil va trebui să intri în container pentru a avea acces la el, deoarece nu l-ai exportat într-un volum.
Youn avatar
drapel se
Se spune:[25-Jul-2021 00:06:47] NOTĂ: fpm rulează, pid 1 [25-Jul-2021 00:06:47] ANUNȚ: gata pentru a gestiona conexiunile [25-Jul-2021 00:06:47] ANUNȚ: intervalul de monitorizare systemd setat la 10000ms

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.