当前位置:首页>开发>正文

如何给docker容器设置ip 每个docker一个ip地址吗

2023-05-07 01:11:27 互联网 未知 开发

 如何给docker容器设置ip 每个docker一个ip地址吗

如何给docker容器设置ip

要重新再获得被分配IP地址,可以在客户端主机的DOC下(在[开始]-[运行]里输入“cmd”或点击附件里的[命令提示符]就可以进入)
输入命令 ipconfig/release (释放掉你获得的IP)
然后 ipconfig/renew(重新到DHCP服务器那里获得IP)

A类是第1段1-126,B类第1段是128-191,C类第1段就是192-223
A、B类被作为外网地址,C类被用做局域网地址。
你要连通外网后A、B类的都是网络经营商拥有的,你得花钱租的。

DHCP有一定的记忆性,如果只连一台计算机,肯定经常出现总分配同1个地址,或差不多的地址,以求网络的稳定,并节省消耗。

每个docker一个ip地址吗

docker run创建Docker contains时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式:
host模式,使用--net=host指定。
container模式,使用--net=container:NAME_or_ID指定。
none模式,使用--net=none指定。
bridge模式,使用--net=bridge指定,默认设置。containers启动后会通过DHCP获取一个地址.

网络:em1是内网,em2是外网(设置本次外网ip是1.1.1.3),docker0是docker的桥接网卡
独立ip:设置本次独立ip是1.1.1.操作方法:
1、为独立ip与外网卡em2做网卡别名
ifconfig em2:0 1.1.1.4 netmask 255.255.255.0 up
2、启动新容器
docker run --restart always --privileged -d --name=test docker.com:5000/centos6-http:new /usr/bin/supervisord
3. 获取容器ip
docker inspect test|grep -i add
比如本次获取的ip是172.17.0.在宿主机的iptables里做dnat映射

默认的input、output、forward我不做设置,仅设置nat
*nat
:PREROUTING ACCEPT [15:1542]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:DOCKER - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A POSTROUTING -j MASQUERADE
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
-A DOCKER -d 1.1.1.4 ! -i docker0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.17.0.5:80
-A DOCKER -d 1.1.1.4 ! -i docker0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.17.0.5:44COMMIT
其中-A DOCKER是做的dnat设置,-d是指定访问的外网ip地址,就是我刚才1.1.1.4,另外dport是允许访问的端口,--to-destination是容器的ip与内部端口

如何获取 docker 容器的 ip 地址

客户机获取DHCP服务器主要分为4个步骤:1.IP租用请求:
DHCP客户机初始化TCP/IP,通过UDP端口67向网络中发送一个DHCPDISCOVER广播包,请求租用IP地址。该广播包中的源IP地址为0.0.0.0,目标IP地址为255.255.255.255;包中还包含客户机的MAC地址和计算机名。

2.IP租用提供:
任何接收到DHCPDISCOVER广播包并且能够提供IP地址的DHCP服务器,都会通过UDP端口68给客户机回应一个DHCPOFFER广播包,提供一个IP地址。该广播包的源IP地址为DCHP服务器IP,目标IP地址为255.255.255.255;包中还包含提供的IP地址、子网掩码及租期等信息。

3.IP租用选择:
客户机从不止一台DHCP服务器接收到提供之后,会选择第一个收到的DHCPOFFER包,并向网络中广播一个DHCPREQUEST消息包,表明自己已经接受了一个DHCP服务器提供的IP地址。该广播包中包含所接受的IP地址和服务器的IP地址。
所有其他的DHCP服务器撤消它们的提供以便将IP地址提供给下一次IP租用请求。

4.IP租用确认:
被客户机选择的DHCP服务器在收DHCPREQUEST广播后,会广播返回给客户机一个DHCPACK消息包,表明已经接受客户机的选择,并将这一IP地址的合法租用以及其他的配置信息都放入该广播包发给客户机。
客户机在收到DHCPACK包,会使用该广播包中的信息来配置自己的TCP/IP,则租用过程完成,客户机可以在网络中通信。
DHCP客户机在发出IP租用请求的DHCPDISCOVER广播包后,将花费1秒钟的时间等待DHCP服务器的回应,如果1秒钟没有服务器的回应,它会将这一广播包重新广播四次(以2,4,8和16秒为间隔,加上1~1000毫秒之间随机长度的时间)。四次之后,如果仍未能收到服务器的回应,则运行Windows 2000的DHCP客户机将从169.254.0.0/16这个自动保留的私有IP地址(APIPA)中选用一个IP地址,而运行其他操作系统的DHCP客户机将无法获得IP地址。DHCP客户机仍然每隔5分钟重新广播一次,如果收到某个服务器的回应,则继续IP租用过程。

如何获取docker宿主机ip

容器的ip每次启动都会改变,知道容器ip没什么意义。
文件同步操作的话,为什么不通过-v 挂载到宿主机呢?

docker exec CID ifconfig
如果容器有ifconfig的话

最新文章