2017-10-11 107 views
0

我正在與碼頭工人撰寫一村CMS實例(使用config /泊塢窗/本地的mysql /泊塢窗-compose.yml),並得到以下錯誤:村CMS /泊塢窗撰寫連接到數據庫

500 Error 

Error Executing Database Query. 

Datasource:nodatabase 

SQL:SELECT IF('muradb' IN(SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA), 1, 0) AS found 

Code:n/a 

Type:Database 

Timed out trying to establish connection 

這裏是我的Docker-compose.yml的副本,這是Blue River與Mura分銷的標準yml文件。除了從端口8080到端口80的變化之外,它沒有被修改。

version: '2.1' 

services: 
    #Mura Server 
    mura_mysql_cfml: 
    image: ortussolutions/commandbox:latest 
    environment: 
     PORT: 80 
     SSL_PORT: 8443 
     CFENGINE: [email protected] 
     CFCONFIG_ADMINPASSWORD: NOT_SECURE_CHANGE 
     MURA_ADMIN_USERNAME: admin 
     MURA_ADMIN_PASSWORD: admin 
     MURA_ADMINEMAIL: [email protected] 
     MURA_APPRELOADKEY: appreload 
     MURA_DATASOURCE: muradb 
     MURA_DATABASE: muradb 
     MURA_DBTYPE: mysql 
     MURA_DBUSERNAME: root 
     MURA_DBPASSWORD: NOT_SECURE_CHANGE 
     MURA_DBHOST: mura_mysql 
     MURA_DBPORT: 3306 
     MURA_SITEIDINURLS: "false" 
     MURA_INDEXFILEINURLS: "false" 
     MURA_TESTBOX: "true" 
    volumes: 
     - ../../../:/app 
    ports: 
     - "80:80" 

    #MySQL 
    mura_mysql: 
    image: mysql:latest 
    environment: 
     MYSQL_ROOT_PASSWORD: NOT_SECURE_CHANGE 
     MYSQL_DATABASE: muradb 
    volumes: 
     - mura_mysql_data:/var/lib/mysql 
    ports: 
     - "55555:3306" 

volumes: 
    mura_mysql_data: 

任何有關可能出錯的想法?

+0

您可以添加您使用的docker-compose.yml文件嗎?我們可能會在那裏看到您的問題。發佈前只需更改任何密碼。 –

回答

0

您的問題是您在docker-compose.yml文件中修改ports的地方。

左側是host ...或您的local機器。右側是容器的網絡端口,你不應該改變它。所以,下mura_mysql_cfml服務嘗試:

ports: 
    - "80:8080" 

此外,根據environment:設置,我將完全ommit的PORT: 80環境變量。原因是因爲該端口未在基礎Docker鏡像中公開。


編輯:

而且,我只是你不使用默認的圖像發現。這很關鍵!您嘗試使用的圖像甚至沒有Mura CMS。這意味着您必須提供它,或將其作爲卷裝入/app目錄。

巧合的是,我正在爲諸如您自己的用戶編寫一些示例圖像和docker-compose.yml文件。它仍然在努力,但我認爲你應該看看存儲庫無論如何: https://github.com/blueriver/docker-muracms

希望這會有所幫助!

+0

該圖像是問題所在。我使用了這個docker-compose.yml https://hub.docker.com/r/blueriver/muracms/它已經工作了。現在我遇到了URL上的尾部斜槓問題 - 我的URL不會重寫爲包含斜槓。你知道我該如何解決這個問題嗎? –

+0

如果您使用的是「官方」圖片,則所有內容均應使用或不使用尾部斜線。我不確定你指的是什麼問題。你可以再詳細一點嗎?或者,給出一個鏈接或錯誤輸出? –

+0

使用官方圖像。我部署了一個在Mura 7.0.44中製作的網站包,除了當我訪問我的網站上沒有尾部斜槓(www.fakesite.com/site)的URL時,一切看起來都很棒,它們不會重寫添加尾部/,而是我得到一個404錯誤。但是,如果我將index.cfm添加到沒有結尾斜槓的URL(www.fakesite.com/index.cfm/site),它會重定向到(www.fakesite.com/index.cfm/site/)。我在合成文件中關閉了站點ID和索引。我也有兩個settings.ini.cfm設置爲0。我也添加了web.config和.htaccess規則。關於如何解決這個問題的想法? –

-1

由於某些原因,您的泊塢牆堆棧中的Web服務器無法訪問MySQL服務器。

你是怎麼執行docker-compose的? 如果你嘗試Mura中的其他docker-compose文件,你會得到不同的結果嗎?

另外,你有沒有嘗試過安裝Kitematic?它提供了很多關於碼頭容器和圖像的可視化數據。