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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM