首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >phabricator无法在dockerized容器中找到停靠mysql

phabricator无法在dockerized容器中找到停靠mysql
EN

Stack Overflow用户
提问于 2017-08-17 20:35:06
回答 1查看 347关注 0票数 3

我正在尝试启动吞噬器作为码头形象。问题是,当我访问phabricator/webroot时,phabricator返回一个Cannot Find MySQL!页面。当我尝试指定mysql.hostmysql.portmysql.usermysql.pass参数时,它似乎仍然失败。

编辑:我正在macOS的“塞拉”与对接机上试用这个。

我是通过分离出三个组成部分来做到这一点的:

  1. nginx图像
  2. php图像
  3. mysql图像

nginx映像和php映像通过相同的卷共享数据。具体来说,我在数据/ dir中存储必需的phabricator文件(phabricator、liphutil、arcanist)。我的码头项目的结构如下:

代码语言:javascript
复制
docker-project/
    - docker-compose.yml
    - php_setup.conf
    + data/
        + phabricator/
        + arcanist/
        + liphutil/
    + nginx/
        - Dockerfile
    + php-fpm/
        - Dockerfile

php_setup.conf只是phabricator项目所必需的nginx配置,它被复制到nginx容器中。

docker-compose.yml

代码语言:javascript
复制
version: "2"
services:
  web:
    build:
      context: .
      dockerfile: nginx/Dockerfile
    ports:
      - "80:80"
    volumes:
      - ./data:/srv
  php:
    build:
      context: .
      dockerfile: php-fpm/Dockerfile
    volumes:
      - ./data:/srv
  mysql:
    image: mysql
    environment:
      - MYSQL_ALLOW_EMPTY_PASSWORD=yes
      - MYSQL_USER=phabricator
      - MYSQL_PASSWORD=12345

我能够从php映像telnet mysql 3306主机,所以它是明确可用的。但是,我不确定这个问题是否会出现,因为我在主机卷上有phabricator项目,而不是容器本身。

我希望有人能给我指明正确的方向。

应请求由phabricator提供日志错误:

无法建立到任何数据库主机的连接(同时尝试"phabricator_config")。所有的主人和复制品都是完全无法触及的。

data/phabricator/conf/local/local.json

代码语言:javascript
复制
{
  "mysql.port": "3306",
  "mysql.pass": "12345",
  "mysql.user": "phabricator",
  "mysql.host": "mysql"
}
EN

回答 1

Stack Overflow用户

发布于 2017-08-18 19:32:52

尽管错误消息说phabricator无法连接/查找MySQL,但事实证明授予phabricator用户的权限限制过大。

解决方案:授予噬菌体用户全局权限。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45744538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档