docker 子网

当需要给容器分配指定 ip ,为避免ip 冲突,指定容器子网处理

  • 创建 subnet 子网
bash 复制代码
docker network create --subnet 10.0.0.0/24 --gateway 10.0.0.1 subnet-test

docker network  ls
NETWORK ID     NAME          DRIVER    SCOPE
...
f582ecf297bc   subnet-test   bridge    local
  • busybox 容器指定子网
bash 复制代码
docker run -d --name busybox --net=subnet-test -it busybox:latest sleep infinite

docker network inspect subnet-test
[
    {
        "Name": "subnet-test",
        "Id": "f582ecf297bc589ef16e598c0fc2f0c5e69853d6741e63ccb2f49668aafb26c8",
        "Created": "2024-03-09T15:35:39.639503096+08:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "10.0.0.0/24",
                    "Gateway": "10.0.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "42d36208b6f4f8d6dce04b8686407ec1162cf0f678a42db9b29ffe325993a7d8": {
                "Name": "busybox",
                "EndpointID": "df945142982aa559fc9094d22fdcdf4a6fb04c141db61070cdda202d90615ce0",
                "MacAddress": "02:42:0a:00:00:02",
                "IPv4Address": "10.0.0.2/24",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]
  • 给容器指定 ip
bash 复制代码
 docker run -d --name busybox-01 --net subnet-test --ip 10.0.0.5 -it busybox:latest sleep infinite
  • 断开容器网络
bash 复制代码
docker network disconnect subnet-test busybox-01
  • 恢复容器网络
bash 复制代码
docker network connect subnet-test busybox-01

注意:busybox-01 ip 变为了:10.0.0.3

  • 恢复容器网络并指定 ip
bash 复制代码
docker network connect --ip 10.0.0.5 subnet-test busybox-01
  • 获取容器 ip
bash 复制代码
docker inspect --format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' busybox-01
10.0.0.5
相关推荐
hj28625111 小时前
Docker 核心知识点整理(网络 + Dockerfile + 原理 + 命令)
网络·docker·容器
梦想的颜色19 小时前
【Docker原理】Docker 容器一文打尽:生命周期、环境管控、迁移备份、日志进程排查、垃圾清理
运维·docker·容器·容器生命周期·容器日志排查·容器迁移备份·容器进程管理
极客先躯1 天前
高级java每日一道面试题-2026年03月30日-实战篇[Docker]-如何监控容器的网络流量?
java·运维·docker·容器·prometheus·高级面试
大E帝国子民11 天前
Docker 部署 RocketMQ 5
docker·容器·rocketmq
江湖有缘1 天前
【保姆级教程】使用Docker Compose一键搭建Picsur私有图床服务
java·docker·容器
java_logo1 天前
5 分钟共享打印机:用 Docker 一键部署 CUPS
运维·docker·容器·cups·网络打印机·共享打印机·docker部署cups
fen_fen1 天前
Docker部署PostgreSQL10 开启SSL和证书安装文档
docker·容器·ssl
EnCi Zheng1 天前
N3A-一个端口只能给一个程序使用吗?[特殊字符]
网络·nginx·docker
彼岸笙箫1 天前
Centos7离线安装docker
运维·docker·容器
nuo5342021 天前
基础 1 —— Docker 的简介
运维·docker·容器