村CMS /泊坞窗撰写连接到数据库
我正在与码头工人撰写一村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:
任何有关可能出错的想法?
您的问题是您在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
希望这会有所帮助!
该图像是问题所在。我使用了这个docker-compose.yml https://hub.docker.com/r/blueriver/muracms/它已经工作了。现在我遇到了URL上的尾部斜杠问题 - 我的URL不会重写为包含斜杠。你知道我该如何解决这个问题吗? –
如果您使用的是“官方”图片,则所有内容均应使用或不使用尾部斜线。我不确定你指的是什么问题。你可以再详细一点吗?或者,给出一个链接或错误输出? –
使用官方图像。我部署了一个在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规则。关于如何解决这个问题的想法? –
由于某些原因,您的泊坞墙堆栈中的Web服务器无法访问MySQL服务器。
你是怎么执行docker-compose的? 如果你尝试Mura中的其他docker-compose文件,你会得到不同的结果吗?
另外,你有没有尝试过安装Kitematic?它提供了很多关于码头容器和图像的可视化数据。
您可以添加您使用的docker-compose.yml文件吗?我们可能会在那里看到您的问题。发布前只需更改任何密码。 –