Hypercorn Name 无法在 Docker 中解析

问题描述

我正在尝试测试连接到名为 master-db 的 docker 容器中的 MysqL 实例的 Quart 应用程序(寻呼机),但经过几次重试后,我收到了一个 hypercorn 错误

pager    | Traceback (most recent call last):
pager    |   File "/usr/local/bin/hypercorn",line 8,in <module>
pager    |     sys.exit(main())
pager    |   File "/usr/local/lib/python3.9/site-packages/hypercorn/__main__.py",line 267,in main
pager    |     run(config)
pager    |   File "/usr/local/lib/python3.9/site-packages/hypercorn/run.py",line 34,in run
pager    |     worker_func(config)
pager    |   File "/usr/local/lib/python3.9/site-packages/hypercorn/asyncio/run.py",line 187,in asyncio_worker
pager    |     _run(
pager    |   File "/usr/local/lib/python3.9/site-packages/hypercorn/asyncio/run.py",line 229,in _run
pager    |     loop.run_until_complete(main(shutdown_trigger=shutdown_trigger))
pager    |   File "/usr/local/lib/python3.9/asyncio/base_events.py",line 642,in run_until_complete
pager    |     return future.result()
pager    |   File "/usr/local/lib/python3.9/site-packages/hypercorn/asyncio/run.py",line 69,in worker_serve
pager    |     sockets = config.create_sockets()
pager    |   File "/usr/local/lib/python3.9/site-packages/hypercorn/config.py",line 177,in create_sockets
pager    |     insecure_sockets = self._create_sockets(self.bind)
pager    |   File "/usr/local/lib/python3.9/site-packages/hypercorn/config.py",line 240,in _create_sockets
pager    |     sock.bind(binding)
pager    | socket.gaierror: [Errno -2] Name does not resolve
pager exited with code 1

代码在本地运行并经过全面测试,但我不知道我哪里出错了:(

docker-compose 文件是:

  version: "3.8"

  networks:
    localdev:
      driver: bridge

  services:
    master-db:
      image: MysqL:8.0
      container_name: master-db
      command: --default-authentication-plugin=MysqL_native_password
      restart: always
      ports:
        - "4000:3306"
      environment:
        MysqL_ROOT_PASSWORD: password_for_stackoverflow
      volumes:
        - ./database/docker:/etc/MysqL/conf.d
      networks:
        - localdev

    pager:
      build:
        context: .
        dockerfile: Dockerfile.pager
      container_name: pager
      ports:
        - "2020:2020"
      networks:
        - localdev
      depends_on:
        - master-db

Docker.pager:

FROM python:3-alpine
RUN pip install --upgrade pip
RUN pip install hypercorn
RUN pip install mysql-connector
RUN pip install quart
copY src/common /app/common
copY src/pager /app/pager
workdir /app
CMD ["hypercorn","pager:app","--bind","'0.0.0.0:2020'"]

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)