【发布时间】:2022-10-14 11:08:20
【问题描述】:
我在 docker 容器中有一个 FAST API 主机。此 API 的工作流程会将数据发布到“托管在不同服务器上”的其他 API。现在 FAST API 可以被另一个程序调用。但是当它调用其他API时会出现“没有与主机名关联的地址”错误,我认为dockerfile中可能有问题。下面是图表和dockerfile。
Dockerfile
FROM python:3.9
WORKDIR /code
COPY ./requirements.txt /code/requirements.txt
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
COPY ./app /code/app
WORKDIR /code/app
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
【问题讨论】:
-
docker 容器是否在同一个虚拟网络上?当您尝试发布到 api1/api2 时,您使用哪些主机?此主机是否与正在运行的容器的名称相同?
-
你的 Dockerfile 看起来不错
-
@MatsLindh API1 和 API2 与我的 docker 不是同一台机器。
-
该错误表明您尝试连接的主机名无法解析其 DNS,您可以分享您正在使用的主机名吗?如果它们是内部或其他非全局 DNS 名称,您必须执行一些额外的步骤。
-
@krs 主机名在我们公司网络内。但我想我应该尝试添加 DNS 配置。