docker配置桥接模式,外网访问centos容器

准备一台linux服务器,该服务器的网卡信息如下

 

配置桥接网络

进入目录 cd /etc/sysconfig/network-scripts/

从开头的第一张图片可以看出我的网卡是 ifcfg-enp0s25

[root@localhost network-scripts]# cp ifcfg-enp0s25 ifcfg-br0
[root@localhost network-scripts]# vi ifcfg-br0
TYPE="Bridge"  //这一行改成 Bridge
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="br0"  //修改设备名称为br0
#UUID="54ac45c9-153f-48c2-875d-b38d8771a537" //这一行注释调
DEVICE="br0"  //修改设备为br0
ONBOOT="yes"
IPADDR="192.168.0.109" //增加ip地址信息(从第一张图片获取到的信息)
PREFIX="24"  //增加子网掩码24位
GATEWAY="192.168.0.1"  //增加网关信息(从第一张图片获取到的信息)
DNS1="192.168.0.1"  //增加dns信息(从第一张图片获取到的信息)

[root@localhost network-scripts]# vi ifcfg-enp0s25
TYPE="Ethernet"
BRIDGE="br0" //增加这行信息
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s25"
UUID="54ac45c9-153f-48c2-875d-b38d8771a537"
DEVICE="enp0s25"
ONBOOT="yes"

重启网卡服务
[root@localhost network-scripts]# systemctl restart network
查看ip信息

  

 

可以看到enp0s25上已经没有ip地址了,而且这两个值是一样的,说明桥接网络配置成功了

测试是否能连网

ping www.baidu.com

安装pipework工具

yum install -y git

 

git clone https://github.com/jpetazzo/pipework     #pipework要去网上下载,下载后目录底下有pipework命令

 

cp pipework/pipework /usr/local/bin/                    #红色标注就是我们要用的命令

 

5.运行一个容器并为它设置ip

 

docker run -itd --privileged --net=none --name=centos7 centos

启动centos容器,设置主机名 --hostname

docker run -itd --privileged --hostname=testportal.arcgis.cn --net=none --name=centos7 8652b9f0cb4c /usr/sbin/init

 #192.168.0.112自己设置的一个ip地址;192.168.0.1是图一的网关地址

pipework br0 centos7 192.168.0.112/24@192.168.0.1

 

6进入容器

docker exec -it container_id bash

安装 yum -y install net-tools,然后输入 ifconfig 查看ip地址信息

 7 启动22端口

输入:yum list | grep initscripts

会出现:initscripts.x86_64

然后输入:yum install initscripts -y

yum install openssh-server

service sshd start

netstat -ntpl | grep 22

8安装ssh服务

 

yum install net-tools.x86_64 -y

 

 yum install -y openssh-server

 

yum install passwd -y

 

passwd root

关闭防火墙:

yum install firewalld

systemctl stop firewalld.service

systemctl disable firewalld.service

参考地址

https://www.cnblogs.com/music-liang/p/12955000.html

https://blog.csdn.net/qq_14847537/article/details/78400333

https://blog.csdn.net/zhenliang8/article/details/78330658

https://blog.csdn.net/qq_34940644/article/details/107553041

 

posted on 2021-02-03 15:47  james-roger  阅读(2272)  评论(0编辑  收藏  举报