Docker网络配置及部署SpringCloud项目详解
目录
- 本次目标:
- 一、Docker网络配置
- 1.bridge模式(默认模式)
- 2.host模式
- 二、bridge模式
- 三、host模式
- 四、如何创建自定义网络
- 1.创建自定义网络
- 2.创建容器
- 3.查看网络模式
- 总结
本次目标:
- Docker网络配置
- Docker部署SpringCloud项目
一、Docker网络配置
Docker在创建容器时有四种网络模式:
bridge/host/container/none,bridge为默认不需要用--net去指定,其他三种模式需要在创建容器时使用--net去指定,今天所展示的是两种模式bridge和host(桥接和仅主机模式)

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 inspect bridge
里面有个c2的网络地址

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

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

#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 参数是无效的

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

然后查看一下网络状态

发现里面没有ip
我们删掉那些多余的镜像:docker rm -f $(docker ps -aq)

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

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端口


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

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


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

三、host模式
在一般情况下仅主机模式对我们更方便些,若我们需要部署单体应用,则仅主机是优选
现在我们再创建一个容器,发现容器将不会虚拟出IP/端口,而是使用宿主机的IP和端口


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

网络模式与数据卷容器挂载的操作
docker run -di -v /javayuyan/software/mydocker:/home/javaxl/docker -p 8083:8080 --name t5 --restart=always da505a5bc55a



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

四、如何创建自定义网络
为什么需要自定义网络,因为当使用docker引擎进行部署项目在容器中之后,会被分配随机IP,当关闭之后再开启时,所被分配的IP地址极大可能会不一样。
1.创建自定义网络
docker network create --subnet=172.18.0.0/16 mynetwork
作用:创建容器的时候可以指定IP地址

2.创建容器
docker run -it --name tomcat8 --net=mynetwork -v /javaxl/software/mydocker/:/home/javaxl/docker --ip 172.18.0.8 da505a5bc55a /bin/bash
改成自己的容器就行

3.查看网络模式
docker network inspect mynetwork

当有部署很多微服务需要暂停时,该自定义的ip也不会随便改变了
总结
栏 目:其它服务器
下一篇:通过Docker安装启动DB2在Spring Boot整合DB2的方法
本文标题:Docker网络配置及部署SpringCloud项目详解
本文地址:https://zz.feitang.co/server/30890.html
您可能感兴趣的文章
- 12-20Kubernetes中使用临时容器进行故障排查的方法
- 12-20Nginx设置HTTPS的方法步骤
- 12-20二进制方式安装 Kubernetes1.18.3版本实现脚本
- 12-20Nginx工作模式及代理配置的使用细节
- 12-20ZooKeeper分布式协调服务设计核心概念及安装配置
- 12-20Kubernetes部署可视化地图的十个步骤
- 12-20关于docker清理Overlay2占用磁盘空间的问题(亲测有效)
- 12-20Docker compose配置文件写法及命令使用示例
- 12-20openwrt安装docker并启动的操作方法
- 12-20云原生Kubernetes初始化容器Init使用教程


阅读排行
推荐教程
- 12-07一文教你怎么选择Tomcat对应的JDK版本
- 12-07新版Eclipse集成Tomcat时找不到server选项的解决方法
- 12-06IIS7 应用程序池自动回收关闭的解决方案
- 12-05Windows Server 2019安装VMware
- 12-05Windows服务器默认IE浏览器无法下载文件的解决方法
- 12-05Docker安装Jenkins全过程
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-14Docker Desktop无法正常启动解决(failed to start...)
- 12-14k8s 与docker空间使用分析与清理方法





