0
点赞
收藏
分享

微信扫一扫

1.docker网桥自定义配置

阎小妍 2022-05-05 阅读 75
linuxdocker

1.docker网桥自定义配置

[root@yyx2 yum.repos.d]# vim /etc/docker/daemon.json //进入网桥配置文件

{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"], //这里一定要加上,
"bip":"181.181.181.1/24" }

//写入以上内容

[root@yyx2 ~]# systemctl daemon-reload //重新载入配置文件
[root@yyx2 ~]# systemctl restart docker //重启docker服务


[root@yyx2 ~]# docker run -itd --name yyx busybox //启动一个容器
bada7ecc9e7ffbb79eb11b7fd8762daba4b366e5f80ba15d744a49dfeadccba3
[root@yyx2 ~]# docker ps //查看容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bada7ecc9e7f busybox "sh" 5 seconds ago Up 3 seconds yyx
[root@yyx2 ~]# docker inspect yyx |grep IPAdd //查看是否已经更改了IP
"SecondaryIPAddresses": null,
"IPAddress": "181.181.181.2",
"IPAddress": "181.181.181.2",


[root@yyx2 ~]# docker network ls //查看网桥
NETWORK ID NAME DRIVER SCOPE
fde8cd116d8e bridge bridge local
7e9624a76a36 host host local
35b708f027e8 none null local
[root@yyx2 ~]# docker network create -d bridge --subnet "181.181.182.0/24" --gateway "181.181.182.1" yyx //创建一个自定义网桥
d02ff16503431335af88c8da62374cc1f88099668f61f3e256b85ba0a09523d0
[root@yyx2 ~]# docker network ls //查看是否创建成功
NETWORK ID NAME DRIVER SCOPE
fde8cd116d8e bridge bridge local
7e9624a76a36 host host local
35b708f027e8 none null local
d02ff1650343 yyx bridge local
[root@yyx2 ~]# docker run -it --rm --network yyx busybox //新建一个容器并且指定使用刚刚创建的网桥
/ # ip a //查看地址
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
7: eth0@if8: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue
link/ether 02:42:b5:b5:b6:02 brd ff:ff:ff:ff:ff:ff
inet 181.181.182.2/24 brd 181.181.182.255 scope global eth0 //这里发现地址已经更改成功
valid_lft forever preferred_lft forever
[root@yyx2 ~]# docker run -it --rm --name yyx1 busybox //再创建另一个容器 使用默认桥
/ # ip a //查看地址
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
9: eth0@if10: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue
link/ether 02:42:b5:b5:b5:03 brd ff:ff:ff:ff:ff:ff
inet 181.181.181.3/24 brd 181.181.181.255 scope global eth0 //发现地址不一样
valid_lft forever preferred_lft forever
/ # ping 181.181.182.2 //尝试ping第一个容器
PING 181.181.182.2 (181.181.182.2): 56 data bytes
^C
--- 181.181.182.2 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
//发现ping不通

[root@yyx2 ~]# docker network connect yyx yyx1 //让rehll的网络连接到yyx1里面去
/ # ip a //再次查看yyx的地址
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
9: eth0@if10: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue
link/ether 02:42:b5:b5:b5:03 brd ff:ff:ff:ff:ff:ff
inet 181.181.181.3/24 brd 181.181.181.255 scope global eth0
valid_lft forever preferred_lft forever
11: eth1@if12: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue
link/ether 02:42:b5:b5:b6:03 brd ff:ff:ff:ff:ff:ff
inet 181.181.182.3/24 brd 181.181.182.255 scope global eth1 //发现多了一个ip地址
valid_lft forever preferred_lft forever
/ # ping 181.181.182.2 //再次ping yyx
PING 181.181.182.2 (181.181.182.2): 56 data bytes
64 bytes from 181.181.182.2: seq=0 ttl=64 time=0.121 ms
64 bytes from 181.181.182.2: seq=1 ttl=64 time=0.092 ms
64 bytes from 181.181.182.2: seq=2 ttl=64 time=0.086 ms
64 bytes from 181.181.182.2: seq=3 ttl=64 time=0.091 ms
//可以通信

2.存储卷管理

[root@yyx2 ~]# docker run -it --rm --name yyx1 -v /data busybox //创建新容器指定使用data目录
/ # ls
bin data dev etc home proc root sys tmp usr var
[root@yyx2 ~]# docker inspect yyx1 //查看yyx1的信息

"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/ab6d633f85fcede36b951892adcc09fcac842b3ce2d0d2f18991bff73f6fe919-init/diff:/var/lib/docker/overlay2/eebf53d5680c72f09bc35052fc6266d4196be2f0af22104d23dfc311115cb09a/diff",
"MergedDir": "/var/lib/docker/overlay2/ab6d633f85fcede36b951892adcc09fcac842b3ce2d0d2f18991bff73f6fe919/merged",
"UpperDir": "/var/lib/docker/overlay2/ab6d633f85fcede36b951892adcc09fcac842b3ce2d0d2f18991bff73f6fe919/diff",
"WorkDir": "/var/lib/docker/overlay2/ab6d633f85fcede36b951892adcc09fcac842b3ce2d0d2f18991bff73f6fe919/work"
//以上为数据的使用目录
[root@yyx2 ~]# cd /var/lib/docker/overlay2/ab6d633f85fcede36b951892adcc09fcac842b3ce2d0d2f18991bff73f6fe919/merged //进入其中一个目录
[root@yyx2 merged]# ls //查看内容
bin data dev etc home proc root sys tmp usr var

[root@yyx2 merged]# docker inspect yyx1 | grep "Source" //查看使用根目录
"Source": "/var/lib/docker/volumes/d8e31b52f36d1cb391ff3c4f56863f537e78401d7f6c0e146502c3aa344e7750/_data",
[root@yyx2 merged]# cd /var/lib/docker/volumes/d8e31b52f36d1cb391ff3c4f56863f537e78401d7f6c0e146502c3aa344e7750/_data //进入根文件系统
[root@yyx2 _data]# mkdir yyx1 //创建一个目录

/ # ls /data/ //容器里也发现同时创建了一个目录
yyx1

[root@yyx2 ~]# docker run -it --rm --name yyx2 -v /web:/data busybox //将宿主机web和yyx的使用文件绑定
/ # ls //查看目录
bin data dev etc home proc root sys tmp usr var

[root@yyx2 ~]# ls / //查看主机根目录 发现多了个web文件
bin dev home lib64 mnt proc run srv tmp var yyx
boot etc lib media opt root sbin sys usr web

[root@yyx2 ~]# echo "hello world!" >/web/index.html //创建一个测试文件

/ # cat /data/index.html //容器内查看
hello world!


//部署网站


[root@yyx2 ~]# ls //查看
anaconda-ks.cfg 9-404.zip
[root@yyx2 ~]# unzip 9-404.zip //解压源码包
[root@yyx2 ~]# ls //再次查看
anaconda-ks.cfg 9-404 9-404.zip 说明.htm
[root@yyx2 ~]# cp -r 9-404 /web/ //复制到web目录下
[root@yyx2 ~]# ls /web/ //查看web目录
index.html js 服务器之家.url 精品免费商业源码下载.url

[root@yyx2 ]# docker run -d --name web -v /web:/usr/local/apache2/htdocs -p 80:80 httpd 把web目录和容器中的/usr/local/apache2/htdocs目录进行绑定
b0f14a699520e84b25defeba5dc0477f8ccaff3a7a4c505eaf19b4032dd06f77

//验证

docs -p 80:80 httpd 把web目录和容器中的/usr/local/apache2/htdocs目录进行绑定
b0f14a699520e84b25defeba5dc0477f8ccaff3a7a4c505eaf19b4032dd06f77

//验证

在这里插入图片描述

举报

相关推荐

0 条评论