docker创建自定义桥,docker存储卷

docker创建自定义桥

[root@localhost ~]# docker inspect web 
...
                    Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.2",

[root@localhost ~]# vim /etc/docker/daemon.json 
{
  "registry-mirrors": ["https://bxrtqrie.mirror.aliyuncs.com"],   //只要不是最后一条记录,后面都要加,号
  "bip": "192.168.1.1/24"    //修改docker桥    
}
[root@localhost ~]# systemctl restart docker    //重启docker
[root@localhost ~]# docker ps -a   //容器停止
CONTAINER ID   IMAGE     COMMAND              CREATED         STATUS                     PORTS     NAMES
d7a26862ea35   httpd     "httpd-foreground"   2 minutes ago   Exited (0) 9 seconds ago             web
[root@localhost ~]# docker start web    //启动
web
[root@localhost ~]# docker inspect web   //ip地址发生改变
                    "Gateway": "192.168.1.1",
                    "IPAddress": "192.168.1.2",
[root@localhost ~]# docker rm -f web
web



[root@localhost ~]# docker run -d --name web --restart=always httpd    //如果docker重启跟着重启
033d4c6b018e78e1f4b49ab100d815015884b491021e355cad8087d25f6a6502
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND              CREATED         STATUS         PORTS     NAMES
033d4c6b018e   httpd     "httpd-foreground"   5 seconds ago   Up 4 seconds   80/tcp    web
[root@localhost ~]# vim /etc/docker/daemon.json 
"bip": "192.168.1.1/24" //删除
[root@localhost ~]# systemctl restart docker
[root@localhost ~]# docker ps    //重启后容器自动重启了
CONTAINER ID   IMAGE     COMMAND              CREATED         STATUS         PORTS     NAMES
033d4c6b018e   httpd     "httpd-foreground"   3 minutes ago   Up 4 seconds   80/tcp    web
[root@localhost ~]# docker inspect web   //修改一次后docker桥地址删掉后不会改变,要重新添加
                    "Gateway": "192.168.1.1",
                    "IPAddress": "192.168.1.2",

[root@localhost ~]# vim /etc/docker/daemon.json 

{
  "registry-mirrors": ["https://bxrtqrie.mirror.aliyuncs.com"],
  "bip":"172.17.0.1/16"
}
[root@localhost ~]# systemctl restart docker
[root@localhost ~]# docker inspect web
                    "Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.2",


docker创建自定义桥

创建一个额外的自定义桥,区别于docker0

[root@localhost ~]# docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
031d01b3f8c2   bridge    bridge    local
649a7455b6e0   host      host      local
acc4255a45df   none      null      local
[root@localhost ~]# docker network create -d bridge --subnet "192.168.1.0/24" --gateway "192.168.1.1" br0     //创建桥-d指定类型,不加默认是bridge类型,
6f39b788975b02ccf026cdb79f1d106a1f287e8c8306273dccc4cc64ae0136c6
[root@localhost ~]# docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
6f39b788975b   br0       bridge    local
031d01b3f8c2   bridge    bridge    local
649a7455b6e0   host      host      local
acc4255a45df   none      null      local

使用新创建的自定义桥来创建容器:

[root@localhost ~]# docker run -it --rm --network br0 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
15: eth0@if16: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue 
    link/ether 02:42:c0:a8:01:02 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
/ # 

再创建一个容器,使用默认的bridge桥:

[root@localhost ~]# docker run -it --rm --name b1 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
17: eth0@if18: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue 
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever

试想一下,此时的b2与b1能否互相通信?如果不能该如何实现通信?

img

/ # ping 192.168.1.2   //此时不通
PING 192.168.1.2 (192.168.1.2): 56 data bytes
^C
--- 192.168.1.2 ping statistics ---
8 packets transmitted, 0 packets received, 100% packet loss
/ # 
[root@localhost ~]# docker network connect br0 b1  //connect让某个容器连到某个网络里面
/ # ip a   //添加的网卡是永久的重启docker还是有
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
17: eth0@if18: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue 
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
19: eth1@if20: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue 
    link/ether 02:42:c0:a8:01:03 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.3/24 brd 192.168.1.255 scope global eth1
       valid_lft forever preferred_lft forever
/ # ping 192.168.1.2   //此时可以ping通
PING 192.168.1.2 (192.168.1.2): 56 data bytes
64 bytes from 192.168.1.2: seq=0 ttl=64 time=0.350 ms
64 bytes from 192.168.1.2: seq=1 ttl=64 time=0.193 ms
64 bytes from 192.168.1.2: seq=2 ttl=64 time=0.203 ms
^C
--- 192.168.1.2 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.193/0.248/0.350 ms

//一台主机可以用两个交换机

[root@localhost ~]# docker network disconnect br0 b1   //断开连接

docker存储卷

部署网站,用存储卷提供网络内容
在这里插入图片描述

[root@localhost ~]# ls
9-404.zip  abc  anaconda-ks.cfg
[root@localhost ~]# cd ..
[root@localhost /]# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@localhost /]# mkdir web
[root@localhost /]# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  web
[root@localhost /]# mv ~/9-404.zip /web   
[root@localhost /]# ls web
9-404.zip
[root@localhost /]# dnf -y install unzip
[root@localhost web]# unzip 9-404.zip 
[root@localhost web]# ls
9-404  9-404.zip
[root@localhost web]# rm -f 9-404.zip
[root@localhost web]# ls
9-404
[root@localhost web]# mv 9-404/* .
[root@localhost web]# ls
9-404  index.html  js  服务器之家.url  精品免费商业源码下载.url
[root@localhost web]# rm -rf 9-404
[root@localhost web]# ls
index.html  js  服务器之家.url  精品免费商业源码下载.url


[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@localhost ~]# docker run -d --name web -v /web:/usr/local/apache2/htdocs -p 80:80 httpd   //把真机上的web目录和容器的网站目录做绑定 -p暴露端口号
c945573f1e2c4aaadaf8c38ccd613132794fe2982ae58641165207835a023f7e
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND              CREATED         STATUS         PORTS                               NAMES
c945573f1e2c   httpd     "httpd-foreground"   4 seconds ago   Up 3 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   web
[root@localhost ~]# ss -antl
State   Recv-Q  Send-Q   Local Address:Port   Peer Address:Port Process  
LISTEN  0       128            0.0.0.0:80          0.0.0.0:*             
LISTEN  0       128            0.0.0.0:22          0.0.0.0:*             
LISTEN  0       128               [::]:80             [::]:*             
LISTEN  0       128               [::]:22             [::]:*    

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值