2016-06-26 53 views
1

這是我的碼頭工人撰寫文件:WordPress的容器不能連接到MariaDB的容器

version: '2' 
services: 
    wordpress: 
    image: wordpress 
    environment: 
     WORDPRESS_DB_HOST: db 
     WORDPRESS_DB_USER: root 
     WORDPRESS_DB_PASSWORD: ***** 
     WORDPRESS_DB_NAME: wordpress 
    links: 
     - db:mysql 
    ports: 
     - 8000:80 
    #network_mode: "none" 
    restart: always 

    db: 
    image: mariadb 
    environment: 
     MYSQL_ROOT_PASSWORD: ***** 
     MYSQL_DATABASE: wordpress 
     MYSQL_USER: root 
     MYSQL_PASSWORD: ***** 
    ports: 
     - 8001:3306 
    volumes: 
     - ./configs/etc/mysql/my.cnf:/etc/mysql/my.cnf 
    restart: always 

這是我在泊塢窗日誌得到了錯誤:

Warning: mysqli::mysqli(): (HY000/2002): Connection refused in - on line 10 

10號線是「鏈接」一。

我也得到了頭版(我安裝的Nginx在我的主機操作系統的代理轉發端口80到8000)

需要注意的是Nginx的代理訪問日誌全部恢復爲上一個502錯誤網關錯誤302不是502

PS:我使用的是official Docker images

+0

你可以嘗試沒有:mysql?在鏈接部分? –

+0

我試過了,同樣的問題。 – 4m1nh4j1

+0

我嘗試了另一個wp安裝,發現它使用相同的代碼,但在另一個目錄中。在這種情況下,mysql錯誤是微不足道的,但我不知道從哪裏來的問題。 – 4m1nh4j1

回答

0

你不需要公開開放MariaDB的端口,只是暴露端口3306到其他容器。

所以在DB更換:

ports: 
    - 8001:3306 

有:

expose: 
    - "3306" 

我相信,在WordPress的默認數據庫端口是3306,這也是MariaDB的默認端口。

相關問題