Mura CMS / Docker Compose连接到数据库

时间:2017-10-11 23:00:48

标签: mysql docker coldfusion docker-compose mura

我正在使用docker compose运行Mura CMS实例(使用config / docker / local-mysql / docker-compose.yml)并收到以下错误:

db.getCollection("enrollments").aggregate(
 {
  "$project": {
    "enrollments": {
      "$filter": {
        "input": "$enrolled",
        "as": "enrollment",
        "cond": {
          "$and": [
            {
              "$eq": [
                "$$enrollment.enrolled",
                "01"
              ]
            },
            {
              "$let": {
                "vars": {
                  "daysdiff": {
                    "$divide": [
                      {
                        "$subtract": [
                          "$dateActivated",
                          {
                            "$add": [
                              "$dateJoined",
                              {
                                "$multiply": [
                                  "$$enrollment.day",
                                  86400 * 1000
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      86400 * 1000
                    ]
                  }
                },
                "in": {
                  "$or": [
                    {
                      "$and": [
                        {
                          "$lt": [
                            "$$daysdiff",
                            150
                          ]
                        },
                        {
                          "$gt": [
                            "$$daysdiff",
                            0
                          ]
                        }
                      ]
                    },
                    {
                      "$and": [
                        {
                          "$lt": [
                            "$$daysdiff",
                            0
                          ]
                        },
                        {
                          "$gt": [
                            "$$daysdiff",
                            -120
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            }
          ]
        }
      }
    }
  }
})

这是我的Docker-compose.yml的副本,它是Blue River与Mura分发的标准yml文件。除了从端口8080到端口80的更改之外,它没有被修改。

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

任何可能出错的想法?​​

2 个答案:

答案 0 :(得分:0)

您的问题是您修改了ports文件中的docker-compose.yml

左侧是host ...或您的local机器。右侧是容器的网络端口,您不应该更改它。所以,在mura_mysql_cfml服务下尝试:

ports:
    - "80:8080"

此外,在environment:设置下,我将完全省略PORT: 80环境变量。原因是因为该端口未在底层Docker镜像中公开。

编辑:

另外,我刚注意到你没有使用默认图片。这很关键!您尝试使用的图像中甚至没有Mura CMS。这意味着您必须提供它,或将其作为卷安装到/app目录中。

巧合的是,我正在为一些用户(例如你自己)整理一些示例图片和docker-compose.yml文件。它仍在继续,但我认为你应该看一下存储库: https://github.com/blueriver/docker-muracms

希望这有帮助!

答案 1 :(得分:-1)

由于某种原因,docker堆栈中的Web服务器无法访问mysql服务器。

你是如何执行docker-compose的? 如果你在Mura中尝试其他docker-compose文件,你会得到任何不同的结果吗?

另外,您是否尝试过安装Kitematic?它提供了很多关于docker容器和图像的可视化数据。