You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Run带参数运行镜像遇IP配置错误的技术求助

问题描述

执行指定固定IP的docker run命令启动容器时,出现以下错误:

docker: Error response from daemon: user specified IP
address is supported only when connecting to networks
with user configured subnets. ERRO[0000] error waiting
for container: context canceled 

通过docker network inspect net查看目标网络信息如下:

[
    {
        "Name": "net",
        "Id": "d7fc56aa7d869c2f5ebcb12a5402fe565647542323ba93c323a8b5439e030466",
        "Created": "2023-04-25T15:33:05.454201322+05:30",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.21.0.0/16",
                    "Gateway": "172.21.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {},
        "Options": {},
        "Labels": {}
    }
]

使用的docker run命令:

docker run --gpus all --name server -p 9000:9000 \
  -e SERVER_IP=172.21.1.4 \
  -e SERVER_PORT=9000 \
  -e CUDA_DRIVER_ID="cuda:0" \
  --network net \
  --ip 172.21.1.4 \
  --device /dev/nvidia0:/dev/nvidia0 \
  us-central1-docker.pkg.dev/mipeople-f0294/python-infer/python-infer_server \
  python3 -u server.py
解决方法

方案一:重新创建支持固定IP的网络

错误原因是当前net网络的子网并非用户手动配置(即使inspect显示有子网,若为Docker自动分配则不支持手动指定IP),需重新创建网络并明确指定子网:

  1. 删除现有net网络
docker network rm net
  1. 手动指定子网重新创建net网络
docker network create --driver bridge --subnet 172.21.0.0/16 --gateway 172.21.0.1 net
  1. 再次执行原docker run命令即可正常启动容器

方案二:取消固定IP配置(更灵活)

若无需强制固定IP,可去掉--ip参数,并将环境变量SERVER_IP改为容器名称server(Docker网络内支持通过容器名称互相访问),修改后的命令如下:

docker run --gpus all --name server -p 9000:9000 \
  -e SERVER_IP=server \
  -e SERVER_PORT=9000 \
  -e CUDA_DRIVER_ID="cuda:0" \
  --network net \
  --device /dev/nvidia0:/dev/nvidia0 \
  us-central1-docker.pkg.dev/mipeople-f0294/python-infer/python-infer_server \
  python3 -u server.py

内容的提问来源于stack exchange,提问作者Akshay Geedan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 04:17:07