首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

docker改容器IP的两种方法

  • 25-03-07 23:42
  • 3120
  • 8007
blog.csdn.net

最简单实用的方法:

docker默认的内网网段为172.17.0.0/16,如果公司内网网段也是172.17.x.x的话,就会发生路由冲突。

解决办法

改路由比较办法,可以一开始就将docker配置的bip改成169.254.0.1/24,可以避免冲突。

在daemon配置文件里加个"bip":“169.254.0.1/24”,重启docker就可以了

1

2

3

4

[root@st-dev6 ~]# vim /etc/docker/daemon.json

{

"bip":"169.254.0.1/24"

}

systemctl restart docker

如果已经建好容器,可按以下2个方法进行更改:

方法一:在Docker中,容器默认使用的是桥接模式的网络,这个网络是由Docker自动管理的。如果你想要为容器指定一个IP地址,你可以创建一个自定义的网络,并在运行容器时指定IP。

以下是创建自定义网络并为容器指定IP的步骤:

请注意,指定的IP地址必须在你创建的自定义网络的子网范围内。如果你想要修改正在运行的容器的IP地址,你需要先停止容器,然后删除它,并使用新的IP地址重新创建它。

docker stop myapp

docker rm myapp

  1. 创建自定义网络:

docker network create --subnet=172.18.0.0/16 mynet

     2.运行容器时指定IP:

docker run --network mynet --ip 172.18.0.22 -d nginx

在这个例子中,我们创建了一个名为mynet的自定义网络,并指定了一个172.18.0.0/16的子网。然后,我们运行一个nginx容器,并将其IP设置为172.18.0.22。

验证: docker inspect myapp | grep "IPAddress"

方法二:想要修改正在运行的jms_redis容器IP

1、docker network ls 查看网络情况

[root@docker-server containers]# docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
cc39f6bdde6e   bridge    bridge    local
b6af872c8bd6   host      host      local
4c1eb41fb1a8   jms_net   bridge    local
9f111fc0102f   mynet     bridge    local
740c9ce10fc1   none      null      local
 

2、docker network inspect 4c1eb41fb1a8
查看jms_net ID的具体配置

或者用这个命令

[root@docker-server containers]# docker inspect jms_redis |grep IPAddress
            "SecondaryIPAddresses": null,
            "IPAddress": "",
                    "IPAddress": "192.168.250.2",
 

3、需要进入容器的网络命名空间。可以使用以下命令获取容器的PID(Process ID)号

[root@docker-server containers]# docker inspect -f '{{.State.Pid}}' 9d06599e52df
21985

4、可以使用以下命令进入容器的网络命名空间:

[root@docker-server containers]# nsenter --target 21985 --net /bin/bash
 

在容器内部,可以使用ip addr命令查看容器的网络配置信息。

4、修改jms_redis 容器IP

ip addr add 172.18.0.22/16 dev eth0

ip link set eth0 up
使用ip link set命令将eth0接口打开

再次使用ip addr命令查看容器的网络配置信息,确认修改是否已经生效。

文章知识点与官方知识档案匹配,可进一步学习相关知识
网络技能树首页概览46330 人正在系统学习中
注:本文转载自blog.csdn.net的redmond88的文章"https://blog.csdn.net/redmond88/article/details/138977601"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

115
云原生
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top