Node + Flask服务器Docker容器无法通过同一网络进行通信

瑞安

我有2个微服务,我正在通过docker-compose进行docker化。一旦我的节点服务ping我的python服务,我就会拒绝连接。

我可以通过Postman独立ping这两个服务,一切看起来都很好。似乎容器到容器的联网是我遇到的问题。节点服务器通过以下方式ping请求Axios

    const res = await axios.get('bot:9000/test')

Python端的服务器代码如下所示:

@app.route('/test', methods=['GET'])
async def tester():
    return jsonify(data='hi'), 200

撰写档案

version: '3'
services:
  bot:
    build:
      dockerfile: Dockerfile.dev
      context: ./app-bot
    volumes:
      - /app/node_modules
      - ./app-bot:/app
    environment: 
      - TELEGRAM_API_KEY=xxxx
      - BOT_PORT=4040
  channel-scraper:
    restart: always
    image: quart-app
    environment:
      - QUART_APP=api
    build:
      context: ./app-channelscrape/server
      dockerfile: Dockerfile
    ports:
    - "9000:9000"
    env_file:
    - .env

节点Docker文件

FROM node:alpine
WORKDIR "/app"
COPY ./package.json ./
RUN npm install
RUN npm install -g nodemon
COPY . .
CMD ["npm", "run", "start"]

Flask Docker文件

FROM python:3.7-alpine

RUN adduser -D quart
WORKDIR /home/quart

COPY ./requirements.txt ./
RUN rm -rf /var/cache/apk/*
RUN pip install --no-cache-dir -r requirements.txt --upgrade && \
  chown -R quart:quart ./

COPY ./ /home/quart/
USER quart

CMD ["quart", "run", "-h", "0.0.0.0", "-p", "9000"]
阿齐博姆

您只需要确保要互相交谈的容器在同一网络上即可。
将此代码添加到docker-compose文件的末尾

networks:
  some-net:
    driver: bridge

然后像添加您想要在该网络中使用的服务那样添加它

    networks:
      - some-net

您的代码将如下所示

version: '3'
services:
  bot:
    build:
      dockerfile: Dockerfile.dev
      context: ./app-bot
    volumes:
      - /app/node_modules
      - ./app-bot:/app
    environment: 
      - TELEGRAM_API_KEY=xxxx
      - BOT_PORT=4040
    networks:
      - some-net
  channel-scraper:
    restart: always
    image: quart-app
    environment:
      - QUART_APP=api
    build:
      context: ./app-channelscrape/server
      dockerfile: Dockerfile
    ports:
      - "9000:9000"
    env_file:
      - .env
    networks:
      - some-net

networks:
  some-net:
    driver: bridge

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在从同一网络上的另一台计算机访问节点的服务器上安装Node.js

来自分类Dev

在同一网络上不同设备上预览Angular应用时,如何向Node.js服务器发出请求不会失败?

来自分类Dev

通过phonegap应用程序从同一网络中的移动设备与本地服务器进行通信

来自分类Dev

docker容器无法与同一网络上的其他容器通信

来自分类Dev

同一网络中的Docker容器无法通信

来自分类Dev

同一网络中的Docker容器无法相互通信

来自分类Dev

在同一网络中无法访问 Ubuntu 中的 Http 服务器

来自分类Dev

无法在同一网络上的2个SQL服务器之间传输数据

来自分类Dev

不在同一网络中的两台服务器之间的scp

来自分类Dev

在同一网络中运行两个DHCP服务器

来自分类Dev

LAMP服务器配置以从同一网络访问虚拟托管网站

来自分类Dev

python连接到同一网络上的服务器

来自分类Dev

如何从与Docker主机位于同一网络的设备访问Docker容器?

来自分类Dev

在同一网络中部署TURN和媒体服务器是否有意义?

来自分类Dev

ERR_CONNECTION_REFUSED到同一网络上的Apache2服务器

来自分类Dev

提高同一网络中2台服务器之间的传输速度

来自分类Dev

无法通过以太网和无线连接到同一网络

来自分类Dev

ASP.NET Core Web API服务无法连接到同一网络上的Docker SQL Server

来自分类常见问题

如何从主机外部(同一网络)连接到Docker容器[Windows]

来自分类Dev

访问由 docker-compose 在同一网络中创建的容器

来自分类Dev

从不在同一网络上的设备连接Flask Web服务

来自分类Dev

无法通过wifi连接到同一网络的设备访问本地主机

来自分类Dev

将Docker容器与Azure管道中的当前容器连接到同一网络

来自分类Dev

允许客户端应用程序自动连接到同一网络上的服务器应用程序

来自分类Dev

服务器可在台式机上访问,不能在同一网络上的移动设备上访问

来自分类Dev

在同一网络中的不同服务器上为ipv4和ipv6运行DHCP

来自分类Dev

我可以在同一网络中同时运行Ubuntu和Windows DHCP / DNS服务器吗?

来自分类Dev

在同一网络上通信的计算机

来自分类Dev

使用docker-compose无法在同一网络中连接mysql和spring boot

Related 相关文章

  1. 1

    在从同一网络上的另一台计算机访问节点的服务器上安装Node.js

  2. 2

    在同一网络上不同设备上预览Angular应用时,如何向Node.js服务器发出请求不会失败?

  3. 3

    通过phonegap应用程序从同一网络中的移动设备与本地服务器进行通信

  4. 4

    docker容器无法与同一网络上的其他容器通信

  5. 5

    同一网络中的Docker容器无法通信

  6. 6

    同一网络中的Docker容器无法相互通信

  7. 7

    在同一网络中无法访问 Ubuntu 中的 Http 服务器

  8. 8

    无法在同一网络上的2个SQL服务器之间传输数据

  9. 9

    不在同一网络中的两台服务器之间的scp

  10. 10

    在同一网络中运行两个DHCP服务器

  11. 11

    LAMP服务器配置以从同一网络访问虚拟托管网站

  12. 12

    python连接到同一网络上的服务器

  13. 13

    如何从与Docker主机位于同一网络的设备访问Docker容器?

  14. 14

    在同一网络中部署TURN和媒体服务器是否有意义?

  15. 15

    ERR_CONNECTION_REFUSED到同一网络上的Apache2服务器

  16. 16

    提高同一网络中2台服务器之间的传输速度

  17. 17

    无法通过以太网和无线连接到同一网络

  18. 18

    ASP.NET Core Web API服务无法连接到同一网络上的Docker SQL Server

  19. 19

    如何从主机外部(同一网络)连接到Docker容器[Windows]

  20. 20

    访问由 docker-compose 在同一网络中创建的容器

  21. 21

    从不在同一网络上的设备连接Flask Web服务

  22. 22

    无法通过wifi连接到同一网络的设备访问本地主机

  23. 23

    将Docker容器与Azure管道中的当前容器连接到同一网络

  24. 24

    允许客户端应用程序自动连接到同一网络上的服务器应用程序

  25. 25

    服务器可在台式机上访问,不能在同一网络上的移动设备上访问

  26. 26

    在同一网络中的不同服务器上为ipv4和ipv6运行DHCP

  27. 27

    我可以在同一网络中同时运行Ubuntu和Windows DHCP / DNS服务器吗?

  28. 28

    在同一网络上通信的计算机

  29. 29

    使用docker-compose无法在同一网络中连接mysql和spring boot

热门标签

归档