首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql - Docker:连接问题

Mysql - Docker:连接问题
EN

Stack Overflow用户
提问于 2020-03-20 03:57:57
回答 1查看 294关注 0票数 1

我的码头-Compose.yml看起来是这样的:

代码语言:javascript
复制
version: '3.3'

services:

  frontend:
    build: frontend
    container_name: yii-frontend
    ports:
      - 20080:80
    volumes:
      # Re-use local composer cache via host-volume
      - ~/.composer-docker/cache:/root/.composer/cache:delegated
      # Mount source-code for development
      - ./:/app
    networks:
      - my-marian-net

  backend:
    build: backend
    container_name: yii-backend
    ports:
      - 21080:80
    volumes:
      # Re-use local composer cache via host-volume
      - ~/.composer-docker/cache:/root/.composer/cache:delegated
      # Mount source-code for development
      - ./:/app
    networks:
      - my-marian-net

  db:
    image: mysql:8.0
    container_name: mysql8
    command: --user=root --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=verysecret
      - MYSQL_DATABASE=yii2advanced
      - MYSQL_USER=yii2advanced
      - MYSQL_PASSWORD=secret
    ports:
      - 6033:3306
    networks: 
      - my-marian-net

networks: 
  my-marian-net:
    driver: bridge

我收到一条错误消息:

'SQLSTATEHY000 php_network_getaddresses: getaddrinfo失败: nodename或servname提供或不知道‘

我尝试过的解决办法:

来自后端和前端容器的

  • Ping到mysql8: docker exec -ti yii-前端处理mysql8 (它将每个容器连接到同一个网络( my-marian-net )码头网络,将my-marian-net mysql8 (每个容器相同)
  • 连接到marian net mysql8 (每个容器相同)
  • ,并在那里测试连接。
  • 从容器连接到mysql8容器mysql服务,并且工作正常。

到目前为止还没联系上。在我的代码中,我使用"db“作为主机名,因为我使用的是桥模式。

在尝试了不同的解决方案后,我已经将这个问题从外部码头隔离到一个连接,有什么建议吗?

我正在使用macOS Mojave。码头版19.03

EN

回答 1

Stack Overflow用户

发布于 2020-03-20 05:15:02

这个问题比我想象的要简单,从外部容器"db“服务不存在,因此没有可能连接。

将来,当我从本地运行控制台命令时,我会将数据库连接中的主机更改为使用localhost而不是"db“,或者连接到容器本身并从内部运行它们。

感谢@Smankusors的帮助。

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

https://stackoverflow.com/questions/60768344

复制
相关文章

相似问题

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