Docker 网咯配置和部署 springCloud 项目

Docker网络配置

Docker网络模式介绍
Docker在创建容器时有四种网络模式:bridge/host/container/none,bridge为默认不需要用–net去指定,其他三种模式需要在创建容器时使用–net去指定

1、bridge模式(默认桥接模式)

docker run时使用–net=bridge,这种模式会为每个容器分配一个独立的Network Namespace,
同一个宿主机上的所有容器会在同一个网段下,相互之间是可以通信的

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

实例:外部访问tomcat

 docker run -it --name mytomcat -p 8081:8080 590715041a56

在这里插入图片描述
在这里插入图片描述

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

注1:host模式不能使用端口映射和自定义路由规则,这些都与主机一致,-p 与-icc 参数是无效的
注2:宿主机的ip路由转发功能一定要打开,否则所创建的容器无法联网!
echo 1 > /proc/sys/net/ipv4/ip_forward

docker run -it --name mytomcat03 --net=host 镜像ID

在这里插入图片描述
在这里插入图片描述
3、container模式(略)

4、none模式(略)

5、跨主机通信(略)
以上四种均未跨主机,也就是说容器均运行在一台宿主机上,但实际生产环境不可能只用一台来跑。
肯定会用到多台,那么多台主机之间的容器如何通信

 1.使用路由机制打通网络
 2.使用Open vSwitch(OVS)打通网络
 3.使用flannel来打通网络
 4.使用Quagga来实现自动学习路由  

Docker 部署springCloud项目

首先准备一个不报错的springCloud项目,均可正常访问。
在这里插入图片描述
把项目部署到docker中,需要在docker中运行mysql容器来访问数据库
下在mysql 5.6 版本的镜像

docker pull mysql:5.6

然后创建并运行容器
docker run -d -p 3307:3306 --name mysql02 -e MYSQL_ROOT_PASSWORD=123 镜像ID
在这里插入图片描述
在这里插入图片描述
在项目中yml文件中修改
在这里插入图片描述

1、idea中springcloud项目打jar包

1、修改主模块的pom,在主模块不需要 < build > 插件依赖
在这里插入图片描述
2、把需要打成jar包的微服务模块pom的添加插件依赖

<build>
        <plugins>
            <!--添加maven插件-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!--添加自己的启动类路径!-->
                                        <mainClass>com.hyf.microserviceeurekaserver.MicroserviceEurekaServerApplication </mainClass>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <!--可以把依赖的包都打包到生成的Jar包中-->
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
     </build>

3、
选择项目,右键 Run Maven ——clean 去掉之前打的包target文件夹。在 点击 install
在这里插入图片描述
成功
在这里插入图片描述

4、打好的jar包,先不着急到docker 中部署,在cmd 中进行测试
在这里插入图片描述
在这里插入图片描述

测试无问题了进行开始部署了

docker部署springcloud

1.宿主机修改hosts文件

   vi /etc/hosts
## 在里面添加要映射的域名即可
 127.0.0.1  eureka2001
 127.0.0.1  eureka2002

2、宿主机创建目录hyf_docker/apps 存放jar包,该文件夹作为数据卷,在宿主机和容器之间共享数据。通过rz把jar文件放入apps/下
在这里插入图片描述

3.使用jre:8镜像启动容器,并挂载指定目录为数据卷
我用的是自定义jre镜像,我上一篇博客有写
在这里插入图片描述
挂载指定目录为数据卷

docker run -d -it --net=host --name eureka-server-peer01 --mount type=bind,source=/hyf_docker/apps,target=/hyf_docker/apps 4ef04f87c5a8

在这里插入图片描述
注意----
我们需要跑5个模块需要创建五个容器。

在这里插入图片描述

5.进入容器找到存放jar目录,java命令启动微服务
在这里插入图片描述

参考:

java -jar microservice-eureka-server.jar  --spring.profiles.active=eureka2001
java -jar microservice-eureka-server.jar  --spring.profiles.active=eureka2002

java -jar  microservice-student-provider-hystrix.jar  --spring.profiles.active=provider-hystrix-1004
java -jar  microservice-student-provider-hystrix.jar  --spring.profiles.active=provider-hystrix-1005

java -jar microservice-student-consumer-feign-80-1.0.jar

在这里插入图片描述
效果:
escription:配置为监听端口2001的Tomcat连接器启动失败。端口可能已经在使用中,或者连接器可能配置错误行动:验证连接器的配置,识别并停止正在监听端口2001的任何进程,或将此应用程序配置为监听另一个端口。
服务数据库的值
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值