Score:1

ไม่สามารถเชื่อมต่อ Wordpress และ MariaDB บน ​​LAMP stack ด้วย docker-compose

ธง se

ฉันใหม่ที่นี่และนั่นเป็นคำถามแรกของฉัน ดังนั้นโปรดบอกฉันว่ามีอะไรผิดปกติในวิธีที่ฉันพูด

นี่คือปัญหา: ฉันกำลังสร้าง LAMP stack ที่มี 3 คอนเทนเนอร์แยกกันสำหรับ nginx, maiadb และ wordpress

ดูเหมือนว่า nginx และ php-fpm ทั้งหมดจะทำงานได้ดี เนื่องจากฉันสามารถเข้าถึงดัชนีของไซต์และประมวลผลหน้า php ได้ Mdb สร้างฐานข้อมูล wordpress และสร้างผู้ใช้ "wordpress@wordpress-php" ที่มีสิทธิ์ทั้งหมด

มันเริ่มผิดพลาดเมื่อฉันเข้าถึงไซต์เพื่อติดตั้ง ฉันติดอยู่กับ: "เกิดข้อผิดพลาดในการสร้างการเชื่อมต่อฐานข้อมูล"

นี่คือ wp-config.php ของฉันที่ฉันคัดลอกใน wordpress dir ภายในคอนเทนเนอร์:

 <?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 ?>                                            

นี่คือ docker-compose.yaml ของฉัน:

รุ่น: "3.5"                                                                  
  2                                                                                 
  3 เครือข่าย:                                                                       
  4 เครือข่ายด้านหน้า:                                                                
  5 ไดรเวอร์: สะพาน                                                              
  6 แนบได้: เท็จ                                                           
  7 เครือข่ายด้านหลัง:                                                                 
  8 ไดรเวอร์: สะพาน                                                              
  9 แนบได้: เท็จ                                                           
 10                                                                                 
 11 เล่ม:                                                                          
 12 mdb-ข้อมูล:                                                                     
 13 เวิร์ดเพรส:                                                                    
 14                                                                                 
 15 บริการ:                                                                       
 16                                                                                 
 17 จิงซ์:                                                                        
 18 ขึ้นอยู่กับ:                                                                 
 19 - wordpress-php                                                           
 20 บิลด์: "./services/nginx"                                                   
 21 ภาพ: nginx:mytag                                                          
 22 เล่ม:                                                                    
 23 - wordpress:/var/www/myserver/wordpress:rw                                
 24 - "../logs/nginx_logs:/var/log/nginx:rw"                                  
 25 รีสตาร์ท: ล้มเหลว                                                         
 26 พอร์ต:                                                                      
 27 - "80:80"                                                                 
 28 - "443:443"                                                               
 29 เปิดเผย:                                                                     
 30 - 9000                                                                    
 31 เครือข่าย:                                                                   
 32 - เครือข่ายด้านหน้า                                                           
 33                                                                                 
 34                                                                                 
 35 wordpress-php:                                                                
 36 ขึ้นอยู่กับ:                                                                 
 37 - มาเรียดบ                                                                 
 38 รุ่น: "./services/wordpress"                                               
 39 ภาพ: wordpress-php:mytag                                                  
 40 เล่ม:                                                                    
 41 - wordpress:/var/www/myserver/wordpress:rw
 42 - "../logs/php7.3-fpm.log:/var/log/php7.3-fpm.log:rw"                        
 43 รีสตาร์ท: ล้มเหลว                                                         
 44 สภาพแวดล้อม:                                                                
 45 - WORDPRESS_DB_HOST=mariadb:3306                                          
 46 - WORDPRESS_DB_NAME=เวิร์ดเพรส                                             
 45 - WORDPRESS_DB_USER=เวิร์ดเพรส                                             
 48 - WORDPRESS_DB_PASSWORD=เวิร์ดเพรส                                                                                      
 50 เปิดเผย:                                                                     
 51 - 3306                                                                    
 52 - 9000                                                                    
 53 เครือข่าย:                                                                   
 54 - เครือข่ายด้านหน้า                                                           
 55 - เครือข่ายด้านหลัง                                                            
 56                                                                                 
 57                                                                                 
 58 มาเรียด:                                                                      
 59 รุ่น: "./services/mariadb"                                                 
 60 ภาพ: mariadb:mytag                                                        
 61 เล่ม:                                                                    
 62 - mdb-data:/var/lib/mysql:rw                                              
 63 - "../logs/mariadb_logs/error.log:/var/log/mysql/error.log"               
 64 เริ่มใหม่: ล้มเหลว                                                         
 65 สภาพแวดล้อม:                                                                
 66 - MYSQL_DATABASE=เวิร์ดเพรส                                                
 67 - MYSQL_USER=เวิร์ดเพรส                                                    
 68 - MYSQL_USER_PASSWORD=เวิร์ดเพรส                                           
 69 - MYSQL_ROOT_PASSWORD=รูท                                                
 70 เปิดเผย:                                                                     
 71 - 3306                                                                    
 72 เครือข่าย:                                                                   
 73 - เครือข่ายด้านหลัง                                                            
 74                                                                                 

ฉันตั้งค่าที่อยู่การผูกของ mariadb เป็น 0.0.0.0 ใน ./etc/mysql/mariadb.conf.d/50-se rver.cnf และ ./etc/mysql/my.cnf เพื่อให้แน่ใจว่า th db กำลังฟังอยู่ จากทุกไอพี

ฉันคิดว่าปัญหามาจาก wp-config.php แต่อย่างที่ฉันเข้าใจในสภาพแวดล้อมที่เขียนโดยนักเทียบท่า คุณสามารถอ้างถึงแต่ละคอนเทนเนอร์ด้วยชื่อของเขาแทนที่จะเป็น ip และฉันไม่รู้ว่าฉันจะดึง IP ของ mariadb จาก wordpress ได้อย่างไร -php

โปรดช่วยฉันด้วย ขอบคุณล่วงหน้าสำหรับทุกคนที่อ่านมาไกล! ^^

Michael Hampton avatar
cz flag
ตรวจสอบบันทึกข้อผิดพลาด php-fpm เพื่อหาเบาะแส คุณอาจต้องป้อนคอนเทนเนอร์เพื่อเข้าถึงเนื่องจากคุณไม่ได้ส่งออกในปริมาณมาก
Youn avatar
se flag
มันบอกว่า :[25-Jul-2021 00:06:47] ข้อสังเกต: fpm กำลังทำงานอยู่, pid 1 [25-Jul-2021 00:06:47] ข้อสังเกต: พร้อมจัดการการเชื่อมต่อ [25-Jul-2021 00:06:47] ข้อสังเกต: ตั้งช่วงเวลาการตรวจสอบ systemd เป็น 10,000ms

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา