【问题标题】:Link custom Docker container to MySQL将自定义 Docker 容器链接到 MySQL
【发布时间】:2017-08-19 15:32:13
【问题描述】:

我有一个自定义的 Apache2/PHP 容器,我想链接到我的 MySQL 容器。

两个容器都通过 Rancher 运行。

为 Apache2 容器创建映像的 Dockerfile 如下所示:

FROM ubuntu:latest

RUN apt-get update && apt-get -y upgrade && DEBIAN_FRONTEND=noninteractive apt-get -y install \
    apache2 php7.0 php7.0-mysql libapache2-mod-php7.0 curl lynx-cur libpng-dev curl libcurl4-openssl-dev

RUN docker-php-ext-install mysql mysqli pdo pdo_mysql gd curl

RUN a2enmod php7.0
RUN a2enmod rewrite

RUN service apache2 restart

这个容器运行一个 Yii 1 应用程序,它在一个普通的 undockerized LAMP 堆栈上运行得很好。通过 Rancher 简单地将这个容器添加到常规的 mysql:latest 容器中。我还有一个 phpmyadmin 容器,可以很好地连接到它。我检查了应该连接到 mysql 容器的用户的权限和密码 1000 次,它们似乎没问题。

尽管如此,我总是得到一个 Yii CDbConnection failed to open the DB connection。

我得到的错误(查看日志文件)如下:

SQLSTATE[HY000] [2002] No such file or directory

【问题讨论】:

    标签: php mysql apache docker yii


    【解决方案1】:

    我发现了问题(不同事物的组合):

    • www-data 没有读/写权限
    • 图片改成php:7.0-apache
    • 从 docker-php-ext-install 中删除了 mysql
    • 我发现我的配置文件不正确(它引用了db-address localhost,它被设置为链接名称)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-14
      • 2021-03-16
      • 2019-04-14
      • 2017-12-12
      • 1970-01-01
      • 2018-07-21
      • 2015-02-23
      • 2020-02-19
      相关资源
      最近更新 更多