前提条件
- 已安装 Docker 环境
- 知道目标容器名称或 ID
操作步骤
创建自定义网络(如果已有请忽略)
# 创建支持固定IP的自定义网络 docker network create --driver bridge \ --subnet 172.30.0.0/24 \ # 自定义网段 --gateway 172.30.0.1 \ # 网关地址 my-fixed-network # 网络名称
停止目标容器
docker stop 容器名称/ID
重新启动容器并指定固定 IP
docker run -d \ --name 容器名称 \ --network my-fixed-network \ # 使用自定义网络 --ip 172.30.0.10 \ # 指定固定IP(需在自定义网段内) -p 主机端口:容器端口 \ # 端口映射(按需添加) -v 本地目录:容器目录 \ # 数据挂载(按需添加) --restart always \ # 自动重启 镜像名称:标签 # 容器使用的镜像
验证 IP 是否固定
# 查看容器IP docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 容器名称 # 重启容器后再次检查 docker restart 容器名称 docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 容器名称
注意事项
固定 IP 必须在自定义网络的网段范围内
同一网络内的 IP 不能重复
重启 Docker 服务或容器,IP 保持不变
若需修改 IP,需删除容器后重新创建并指定新 IP
方法:查看指定网络中的所有 IP 分配
先列出所有网络,确认目标网络名称
执行以下命令获取网络列表(找到你要查询的网络名称,如dify_default
或ollama-network
):docker network ls
查看该网络的详细信息(包含 IP 分配)
用inspect
命令查看网络详情,重点关注Containers
部分,里面会列出所有连接到该网络的容器及其 IP:# 替换为你的网络名称(如 dify_default) docker network inspect 网络名称
GitHub Discussions