每个docker一个ip地址吗
3个回答
2016-09-17 · 知道合伙人互联网行家
关注
展开全部
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.4
操作方法:
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.5
在宿主机的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:443
COMMIT
其中-A DOCKER是做的dnat设置,-d是指定访问的外网ip地址,就是我刚才1.1.1.4,另外dport是允许访问的端口,--to-destination是容器的ip与内部端口
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.4
操作方法:
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.5
在宿主机的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:443
COMMIT
其中-A DOCKER是做的dnat设置,-d是指定访问的外网ip地址,就是我刚才1.1.1.4,另外dport是允许访问的端口,--to-destination是容器的ip与内部端口
快又稳
2024-10-28 广告
2024-10-28 广告
在Linux环境下配置基于域名的虚拟主机,需安装Apache或Nginx等Web服务器,并编辑配置文件。以Apache为例,需创建虚拟主机配置文件,指定域名、文档根目录等,然后启用该配置文件并重启Apache服务。同样,Nginx也需在相应...
点击进入详情页
本回答由快又稳提供
展开全部
可以这样
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.4
操作方法:
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.5
在宿主机的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:443
COMMIT
其中-A DOCKER是做的dnat设置,-d是指定访问的外网ip地址,就是我刚才1.1.1.4,另外dport是允许访问的端口,--to-destination是容器的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.4
操作方法:
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.5
在宿主机的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:443
COMMIT
其中-A DOCKER是做的dnat设置,-d是指定访问的外网ip地址,就是我刚才1.1.1.4,另外dport是允许访问的端口,--to-destination是容器的ip与内部端口
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的是不是最近刚更新了最新的固件?我觉得应该是固件的BUG ,我的御PRo 更新了最新的固件後,今天也现了同样问题,不过我没有飞到很高,几十米的样子,提示断开后,我点了自动返航,就飞回来了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询