V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhoufan47
V2EX  ›  Docker

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

  •  
  •   zhoufan47 · 14 小时 48 分钟前 · 169 次点击

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

    2 条回复    2025-12-18 11:04:07 +08:00
    zhoufan47
        1
    zhoufan47  
    OP
       14 小时 46 分钟前
    以下为 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
        2
    q0000001  
       14 小时 44 分钟前
    我更觉得是你 main.py 里面绑定的 host 是不是有问题?要不设置一下 0.0.0.0 ?
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1167 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 17:48 · PVG 01:48 · LAX 09:48 · JFK 12:48
    ♥ Do have faith in what you're doing.