【问题标题】:Can't connect mysql docker to Drupal docker无法将 mysql docker 连接到 Drupal docker
【发布时间】:2021-03-19 01:24:59
【问题描述】:

我正在按照这里的说明进行操作https://hub.docker.com/_/drupal

我跑了$ docker run --name some-drupal -d drupal就好了

我跑了

`docker run -d --name some-mysql --network some-network \
    -e MYSQL_DATABASE=drupal \
    -e MYSQL_USER=user \
    -e MYSQL_PASSWORD=password \
    -e MYSQL_ROOT_PASSWORD=password \
mysql:5.7`

也很好。但是当我通过浏览器中的drupal安装脚本时,当我到达数据库连接时。连接出现错误。我已经尝试将用户作为用户并将 root 作为用户,无论哪种方式我都会遇到同样的错误。不确定我是否需要将更多端口连接到容器,但该指令听起来应该可以工作。我错过了什么?

【问题讨论】:

    标签: mysql docker drupal


    【解决方案1】:

    Docker 只能在同一自定义网络上的容器主机名相互解析。

    您的 mysql 容器位于网络 some-network 中,如下所示:

    docker run -d --name some-mysql --network some-network ...
    

    当你启动 drupal 容器时,你需要做同样的事情:

    docker run --name some-drupal -d --network some-network drupal
    

    【讨论】:

      【解决方案2】:

      如果需要,我建议使用docker-compose.yml 文件和Dockerfile

      比如这是docker-file.yml的内容:

      version: '3.9'
      
      services:
          SOME_DRUPAL_NAME:
              image: drupal
              restart: always
              ports:
                  - 80:80
                  - 443:80
              depends_on:
                  SOME_MYSQL_NAME
              environment:
                  SOME_VARS: SOME_VALUE
      
          SOME_MYSQL_NAME:
              image: mysql
              restart: always
           environment:
             MYSQL_ROOT_PASSWORD: somedrupal
             MYSQL_DATABASE: drupal
             MYSQL_USER: drupal
             MYSQL_PASSWORD: drupal
      networks:
        default:
          external:
            name: SOME_NETWORK_NAME
      volumes:
          SOME_NAME: {}
      

      编辑此文件后,运行以下命令:

      docker network create SOME_NETWORK_NAME
      

      另请参阅将 Drupal 连接到 MySQL 的 Drupal 环境变量以添加到 docker-compose.yml 文件中。

      最后,当所有事情都完成后,运行这个:

      docker-compose -f /to/your/docker-compose/file/docker-compose.yml up -d
      

      或者如果你和docker-compose.yml在同一个路径:

      docker-compose up -d
      

      那么它应该可以工作了。

      【讨论】:

        猜你喜欢
        • 2018-10-02
        • 1970-01-01
        • 2021-01-02
        • 1970-01-01
        • 2020-02-12
        • 1970-01-01
        • 2019-11-06
        • 2019-06-02
        相关资源
        最近更新 更多