首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >码头集装箱未连接到码头集装箱db

码头集装箱未连接到码头集装箱db
EN

Stack Overflow用户
提问于 2021-04-24 18:38:25
回答 1查看 258关注 0票数 0

我有两个码头集装箱正在建造使用码头组成。一个是mariadb,另一个是使用python生成的web。当我启动mariadb容器时,然后从我的桌面上运行应用程序,一切都很好,很棒。但是,当我运行这两个容器时,会得到以下错误:

代码语言:javascript
运行
复制
 pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' ([Errno 111] Connection refused)")

我试过各种各样的方法让它运转起来,但我似乎想不出答案。在我的SQL设置中,我已经完成了:

代码语言:javascript
运行
复制
CREATE USER 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD';

连接到python中的db的线路是:

代码语言:javascript
运行
复制
db = pymysql.connect(host="127.0.0.1", user="USERNAME", password="PASSWORD", database="cs3743_pwu657", port=3306)

似乎我的api容器由于某种原因无法到达mariadb容器,或者由于任何原因不允许它进入。我不知道我需要改变什么来解决这个问题。

用于api的文件

代码语言:javascript
运行
复制
FROM pwu657/docker-api
WORKDIR /app
COPY src ./src
RUN pip3 install -r ./src/requirements.txt
RUN pip3 install Werkzeug
EXPOSE 8080
CMD ["python3", "./src/webapi.py"]

DB的文件

代码语言:javascript
运行
复制
FROM mariadb
COPY ./setup.sql /docker-entrypoint-initdb.d
RUN chmod +x /docker-entrypoint-initdb.d/setup.sql
ENV MYSQL_ROOT_PASSWORD=howdy
CMD ["mysqld"]

码头组成

代码语言:javascript
运行
复制
version: "3.9"
volumes:
  pwu657-db-vol: {}

services:
  pwu657-db:
    build:
      context: .
      dockerfile: Dockerfile-db
    ports:
      - "3306:3306"
    volumes:
      - pwu657-db-vol:/var/lib/mysql

  pwu657-api:
    build:
      network: host
      context: .
      dockerfile: Dockerfile-api
    restart: on-failure
    depends_on:
      - pwu657-db
    ports:
      - "8080:8080"
    links:
      - "pwu657-db"

就像我说过的,当我从IDE运行api时,连接没有问题,但是当我启动对接容器时,它拒绝连接

EN

回答 1

Stack Overflow用户

发布于 2021-04-24 20:04:17

由于从pwu657-api连接到127.0.0.1意味着这台机器本身,所以您应该将python中的数据库连接线更改为:

代码语言:javascript
运行
复制
db = pymysql.connect(host="pwu657-db", user="USERNAME", password="PASSWORD", database="cs3743_pwu657", port=3306)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67246230

复制
相关文章

相似问题

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