NAS 上部署自制 docker 程序发生网络连接相关问题

2025 年 12 月 18 日
 zhoufan47

之前一直都是用其他开发者 build 的 docker 成品 昨天算是首次把自己写的 python 程序打包成 docker ,部署到自己的威联通 nas 上 然后就出现了一个很奇怪的问题 只要把这个容器的网络模式设置成 bridge 后,这个容器里运行的 python 程序就没办法连接外网,fast api 提供的接口,外部网络也无法访问。docker exec 进去后,实际可以 curl 到互联网 但是把 docker 网络设置成 nat+端口映射,那就可以正常从外部网络访问以及容器内的 python 程序也能正常访问外部网络。 这会是什么问题呢?有人遇到过或者可以指指路么

1782 次点击
所在节点    Docker
2 条回复
zhoufan47
2025 年 12 月 18 日
以下为 dockerfile

# 使用官方 Python 轻量级镜像
FROM python:3.9-slim

# 设置工作目录
WORKDIR /app

# 设置时区为上海 (可选,方便看日志)
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 设置基础参数配置

# 复制依赖文件并安装
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# 复制源代码
COPY main.py .
# 如果有 config.json 也可以复制,但我们推荐用环境变量
# COPY config.json .

# 创建必要的目录
RUN mkdir -p logs


# 暴露端口
EXPOSE 8000

# 启动命令
CMD ["python", "main.py"]
q0000001
2025 年 12 月 18 日
我更觉得是你 main.py 里面绑定的 host 是不是有问题?要不设置一下 0.0.0.0 ?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1179680

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX