docker原生网络的特色即便用场景,即便用测试

docker的3个原生网络的特色即便用场景
docker网络,原生网络:
Docker netwwork ls
1.None网络html

特色:PS:用到None网络的容器,会发现他只有一个Loopback回环的网络,没有Mac地址,IP等信息,意味着他不能跟外界通讯,是被隔离起来的网络。
使用场景:
隔离,意味着安全,因此,此网络能够运行关于安全方面的验证码,效验码等服务。
[root@docker ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
c88c6afa3e8e bridge bridge local
167ae1b36ebf host host local
f7b87e5b97e1 none null localnginx

None:什么都没有的网络: null:表示为空 bridge:桥接 SCOPE:在本地中是有效的
在仓库上拉镜像
docker pull busybox
建立none的容器为none
docker run -itd --name none --network none busybox
进入none容器
docker exec -it none /bin/shweb

2.host网络;基于宿主机的网络docker

特色:PS:用到Host网络的容器,他的网络跟宿主机的网络如出一辙,那是由于,在建立这个容器之初,并无对它的Net网络栈进行隔离,而是直接使用的宿主机网络战。
使用场景:
网络配置与dockerHost彻底相同,性能较好,但不便之处是灵活性不高,容器与宿主机出现端口冲突问题。(不建议使用,仅供了解)
docker run -itd --name host --network host busybox:latest
docker exec -it host /bin/shvim

3.bridge:桥接网络;brctl show (查看桥接网络)安全

docker0网卡:
特色:
在咱们安装docker这个服务的时候,默认就会产生一张docker0的网卡,以版默认ip为172.17.0.1/16(以后以此类推,就算删除已有ip,也不会在使用)
容器默认使用的网络是docker0网络,docker0此时至关于一个路由器,基于此网络的容器,网段都是和docker0一致的。网络

docker run -itd --name test1 busybox:latest
docker exec -it test1 /bin/sh
Ip a
Brctl showide

4.自定义网络:oop

自带了一个ContainerDNSserver功能(域名解析)
根据biridge
建立一个bridge网路
docker network create -d bridge my_net
-d:后面接的是什么网络。
brctl show
docker run -itd --name test3 --network my_net busybox:latest
docker run -itd --name test4 --network my_net busybox:latest性能

进入容器
docker exec -it test3 /bin/sh
docker exec -it test4 /bin/sh
Ip a
Ping test4

PS:自定义网络优势,它能够经过容器名称通讯

建立一个自定义网络my_net2:并指定网关和网段.

docker network create -d bridge --subnet 172.20.16.0/24 --gateway 172.20.16.1 my_net2
docker run  -itd --name test5 --network my_net2 --ip 172.20.16.2 busybox:latest
docker run  -itd --name test6 --network my_net2 --ip 172.20.16.3 busybox:latest
docker exec -it test5 /bin/sh
Ping test6

Ps:若是想要给容器指定IP地址,那么自定义网络的时候,必须指定网关gate和subnet网段选项

2.自定义一个镜像,要求基于nginx镜像,自定义镜像的主页内容为:本身的名称|
nginx-web

docker pull nginx

cd test1/
配置Dockerfile
vim Dockerfile

FROM nginx
WORKDIR /usr/share/nginx/html/
RUN rm -rf index.html
COPY index.html /usr/share/nginx/html
RUN nginx
docker原生网络的特色即便用场景,即便用测试

建立完制做镜像
docker build -t nginx-test .
docker原生网络的特色即便用场景,即便用测试
建立容器
docker run -itd --name lbs nginx-test nginx -g "daemon off;"
docker exec -it lbs /bin/sh

安装vim命令(在网上查到的感受有点用)
apt-get install vim 会出现
Reading package lists... Done
        Building dependency tree       
        Reading state information... Done
        E: Unable to locate package

以后在使用
apt-get update
再次使用apt-get install vim命令便可
docker原生网络的特色即便用场景,即便用测试
index.html:中的名字
docker原生网络的特色即便用场景,即便用测试

3.建立一个自定义网络,而且使用上述的镜像运行一个容器,容器使用这个自定义网络,切换ip地址是自定义的
建立一个自定义网卡设置网段网关
docker network create -d bridge --subnet 172.20.1.0/24 --gateway 172.20.1.1 LBSnet
docker network ls
docker原生网络的特色即便用场景,即便用测试
建立好后运行容器
自定义ip地址
docker run -itd --name nginx-test --network LBSnet --ip 172.20.1.10 nginx-test:latest
查看容器
docker inspect nginx-test
docker原生网络的特色即便用场景,即便用测试

访问容器IP
docker原生网络的特色即便用场景,即便用测试

4.将镜像上传到私有仓库
安装私有仓库
docker pull registry:2
docker原生网络的特色即便用场景,即便用测试
运行私有仓库服务
docker run -itd --name registry --restart=always -p 5000:5000 -v /registry:/var/lib/registry registry:2
docker原生网络的特色即便用场景,即便用测试
配置文件,并重启docker服务
vim /usr/lib/systemd/system/docker.service
docker原生网络的特色即便用场景,即便用测试
systemctl daemon-reload
systemctl restart docker
将nginx-test更名,并上传到私有仓库
docker tag nginx-test:latest 192.168.1.1:5000/test
docker原生网络的特色即便用场景,即便用测试
docker push 192.168.1.1:5000/test:latest
docker原生网络的特色即便用场景,即便用测试

使用更名的镜像,建立容器,
docker run -itd --name lbs12 --network LBSnet --ip 172.20.1.100 192.168.1.1:5000/test:latest
访问ip
docker原生网络的特色即便用场景,即便用测试

相关文章
相关标签/搜索