none模式配置网络操作

基于Docker引擎启动Nginx WEB容器,默认以None方式启动Docker容器,此处使用pipework工具手工给容器指定桥接网卡,并且手工配置IP地址,操作指令如下:
#查看镜像列表;

docker images

#运行新的容器

docker run -itd --net=none docker.io/nginx:latest

#查看启动的nginx容器

docker ps

##查看nginx容器的IP地址;(没有IP地址)

docker inspect 265a3745752e|grep -i ipaddr

在这里插入图片描述

  • 安装pipework IP配置脚本工具,方法如下:
    安装pipework
yum install -y git

以下命令必须在空白目录执行

git clone https://github.com/jpetazzo/pipework

或者

wget https://github.com/jpetazzo/pipework/archive/refs/heads/master.zip
cp ~/pipework/pipework /usr/local/bin/

查看pipework工具是否配置正确;

pipework -h

在这里插入图片描述
基于pipework工具手工指定容器的IP,并且设置容器为桥接方式上网,命令如下:(docker0为网桥名称,172.17.0.18/16为容器IP和掩码,172.17.0.1为容器网关)

pipework docker0 265a3745752e 172.17.0.18/16@172.17.0.1
ping 172.17.0.18 -c 2
curl -I http://172.17.0.18/

在这里插入图片描述

none模式(二)

基于Docker引擎启动Nginx WEB容器,以none方式启动Docker容器,而且Docker0的网桥IP为172.17.0.0/16网段,默认局域网的其他物理机是不能直接访问Docker容器的。
为了实现Docker容器跟局域网通信,并且实现局域网其他的物理机也可以访问容器的IP(不配置NAT映射),可以自定义桥接网络br0,将br0跟物理网卡eth0或者ens33桥接。

操作方法如下:
添加ens33网卡指定bridge桥接网卡名称br0;
cd /etc/sysconfig/network-scripts/
#查看ifcfg-ens33网卡IP地址;
cat ifcfg-ens33
TYPE="Ethernet"
DEVICE="ens33"
ONBOOT="yes"
BRIDGE="br0"
IPADDR=10.0.0.122
NETMASK=255.255.255.0
GATEWAY=192.168.0.1

#查看ifcfg-br0网卡IP地址;

cat ifcfg-br0 
DEVICE="br0"
BOOTPROTO=static
ONBOOT=yes
TYPE="Bridge"
IPADDR=10.0.0.122
NETMASK=255.255.255.0
GATEWAY=192.168.0.1

##重启network网络服务;

service network restart

在这里插入图片描述
#修改docker引擎,使其读取br0网桥;

cat /etc/sysconfig/docker-network 
DOCKER_NETWORK_OPTIONS="-b=br0"

#启动Docker容器,设置为none模式,然后使用br0网桥,指令如下:
(br0为网桥名称,192.168.0.11/24为容器IP和掩码,10.0.0.122为容器网关)

docker run -itd --net=none --name=nginx-v1 docker.io/nginx
pipework br0 nginx-v1 192.168.0.11/24@10.0.0.122

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值