使用pipework配置docker容器固定ip

简介:

首先讲一下docker的网络模式:

    我们使用docker run创建容器时,可以使用--net选项指定容器的网络模式,docker一共有4中网络模式:    

 1:bridge模式,--net=bridge(默认)。

   这是dokcer网络的默认设置。安装完docker,系统会自动添加一个供docker使用的网桥docker0,我们创建一个新的容器时,容器通过DHCP获取一个与docker0同网段的IP地址。并默认连接到docker0网桥,以此实现容器与宿主机的网络互通。如下:

wKioL1cVo2Ow6j7qAAA32YRYSMI530.png

 

 2:host模式,--net=host。

   这个模式下创建出来的容器,将不拥有自己独立的Network Namespace,即没有独立的网络环境。它使用宿主机的ip和端口。


 3:container模式,--net=container:NAME_or_ID。

   这个模式就是指定一个已有的容器,共享该容器的IP和端口。除了网络方面两个容器共享,其他的如文件系统,进程等还是隔离开的。


 4:none模式,--net=none。

   这个模式下,dokcer不为容器进行任何网络配置。需要我们自己为容器添加网卡,配置IP。

因此,若想使用pipework配置docker容器的ip地址,必须要在none模式下才可以。


pipework安装:

1
2
3
4
# wget https://github.com/jpetazzo/pipework/archive/master.zip
# unzip pipework-master.zip
# cp pipework-master/pipework  /usr/local/bin/
# chmod +x /usr/local/bin/pipework


创建none模式的容器,为其分配IP。

1
2
#docker run -idt --name test --net=none resin
#pipework docker0 test 172.17.0.100/24@172.17.0.1

wKiom1cVowqzo33bAABqs1fHI6s792.png

 以上操作给新建的test容器分配了一个172.17.0.100的IP地址。











本文转自 icenycmh 51CTO博客,原文链接:http://blog.51cto.com/icenycmh/1765301,如需转载请自行联系原作者
目录
相关文章
|
7月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
836 6
|
7月前
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
754 6
|
8月前
|
Kubernetes Devops Docker
Kubernetes 和 Docker Swarm:现代 DevOps 的理想容器编排工具
本指南深入解析 Kubernetes 与 Docker Swarm 两大主流容器编排工具,涵盖安装、架构、网络、监控等核心维度,助您根据团队能力与业务需求精准选型,把握云原生时代的技术主动权。
765 115
|
8月前
|
缓存 前端开发 Docker
Docker Layer Caching:加速你的容器构建
Docker Layer Caching:加速你的容器构建