Docker网络配置及部署SpringCloud项目详解

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/
目录本次目标:一、Docker网络配置1.bridge模式(默认模式)2.host模式二、bridge模式三、host模式 四、如何创建自定义网络 1.创建自定义网络2.创建容器3.查看网络模式总结

本次目标:

Docker网络配置Docker部署SpringCloud项目

一、Docker网络配置

Docker在创建容器时有四种网络模式:

bridge/host/container/none,bridge为默认不需要用–net去指定,其他三种模式需要在创建容器时使用–net去指定,今天所展示的是两种模式bridge和host(桥接和仅主机模式)

Docker网络配置及部署SpringCloud项目详解插图

1.bridge模式(默认模式)

docker run时使用–net=bridge,这种模式会为每个容器分配一个独立的Network Namespace,

同一个宿主机上的所有容器会在同一个网段下,相互之间是可以通信的

所虚拟的服务器都有独立的ip

     注1:bridge为默认模式,不需要使用参数–net去指定,使用了–net参数反而无效

注2:bridge模式无法指定容器IP(但非绝对,具体操作可参考其他资料)

Docker run -it –name mytomcat01 -p 8081:8080 镜像ID

Docker网络配置及部署SpringCloud项目详解插图1

Docker网络配置及部署SpringCloud项目详解插图2

查看当前桥接模式的情况:docker inspect bridge 

里面有个c2的网络地址 

Docker网络配置及部署SpringCloud项目详解插图3

然后再关闭c2,重新查看桥接模式的情况

Docker网络配置及部署SpringCloud项目详解插图4

 接着我们ifconfig查看当前虚拟ip,里面因为装了docker引擎,对应上面那个图docker0和docker1都有独立的ip

Docker网络配置及部署SpringCloud项目详解插图5

#Docker网络模式相关命令查看

docker network –help

#列出Docker现有网络模式

docker network ls

#查看桥接模式下的网络状态

docker network inspect bridge

2.host模式

docker run时使用–net=host,容器将不会虚拟出IP/端口,而是使用宿主机的IP和端口

docker run -itd –net=host 961769676411

注1:host模式不能使用端口映射和自定义路由规则,这些都与主机一致,-p 与-icc 参数是无效的

Docker网络配置及部署SpringCloud项目详解插图6

初识网络模式

#查看网络模式 ip a ifconfig #Docker网络模式相关命令查看 docker network –help #列出Docker现有网络模式 docker network ls #查看仅主机模式下的网络状态 docker network inspect host

Docker网络配置及部署SpringCloud项目详解插图7

然后查看一下网络状态

Docker网络配置及部署SpringCloud项目详解插图8

 发现里面没有ip

我们删掉那些多余的镜像:docker rm -f $(docker ps -aq)

Docker网络配置及部署SpringCloud项目详解插图9

 结论仅主机模式是不会分配独立的ip,只会共享相同的ip,而桥接模式是随机分配独立的ip

二、bridge模式

Docker网络配置及部署SpringCloud项目详解插图10

docker run -di –name tomcat1 -p 8080:8080 da505a5bc55a #–restart=always容器随着Docker引擎启动而启动 docker run -di –name tomcat2 –restart=always -p 8081:8080 da505a5bc55a

通过指令1启动两个tomcat 通过宿主机访问端口8081或8082 访问到映射到的容器内部的8080端口 

Docker网络配置及部署SpringCloud项目详解插图11

Docker网络配置及部署SpringCloud项目详解插图12

接着我们访问一下网址:(ip a        查看ip地址)

Docker网络配置及部署SpringCloud项目详解插图13

 如果还想再来一个直接改一下映射的端口号就行:

Docker网络配置及部署SpringCloud项目详解插图14

Docker网络配置及部署SpringCloud项目详解插图15

 接着我们重新查看一下桥接模式下的网络状态

Docker网络配置及部署SpringCloud项目详解插图16

三、host模式 

在一般情况下仅主机模式对我们更方便些,若我们需要部署单体应用,则仅主机是优选

现在我们再创建一个容器,发现容器将不会虚拟出IP/端口,而是使用宿主机的IP和端口

Docker网络配置及部署SpringCloud项目详解插图17

Docker网络配置及部署SpringCloud项目详解插图18

 而在hosto模式中,我们只能进入第一个创建的容器里

Docker网络配置及部署SpringCloud项目详解插图19

网络模式与数据卷容器挂载的操作

docker run -di -v /javayuyan/software/mydocker:/home/javaxl/docker -p 8083:8080 –name t5 –restart=always da505a5bc55a

Docker网络配置及部署SpringCloud项目详解插图20

Docker网络配置及部署SpringCloud项目详解插图21

Docker网络配置及部署SpringCloud项目详解插图22

挂载后也可以进行访问tomcat: 

Docker网络配置及部署SpringCloud项目详解插图23

四、如何创建自定义网络 

为什么需要自定义网络,因为当使用docker引擎进行部署项目在容器中之后,会被分配随机IP,当关闭之后再开启时,所被分配的IP地址极大可能会不一样。

1.创建自定义网络

docker network create –subnet=172.18.0.0/16 mynetwork

作用:创建容器的时候可以指定IP地址

Docker网络配置及部署SpringCloud项目详解插图24

2.创建容器

docker run -it –name tomcat8 –net=mynetwork -v /javaxl/software/mydocker/:/home/javaxl/docker –ip 172.18.0.8 da505a5bc55a /bin/bash

改成自己的容器就行

Docker网络配置及部署SpringCloud项目详解插图25

3.查看网络模式

docker network inspect mynetwork

Docker网络配置及部署SpringCloud项目详解插图26

当有部署很多微服务需要暂停时,该自定义的ip也不会随便改变了

总结

免费资源网 – https://freexyz.cn/


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容