重庆购物网站建设,营销型 网站建设流程,平面设计培训班学费一般多少百度贴吧,网站漏洞怎么修复1、Docker简介#xff1a;
作为开发者#xff0c;经常遇到一个头大的问题#xff1a;“在我机器上能运行”。而将SpringCloud微服务运行在Docker容器中#xff0c;避免了因环境差异带来的兼容性问题#xff0c;能够有效的解决此类问题。
通过Docker#xff0c;开发者可…1、Docker简介
作为开发者经常遇到一个头大的问题“在我机器上能运行”。而将SpringCloud微服务运行在Docker容器中避免了因环境差异带来的兼容性问题能够有效的解决此类问题。
通过Docker开发者可以轻松地创建与生产环境一致的开发环境。通过简单的命令或自动化脚本开发者可以在几秒内启动或停止服务从而灵活应对业务负载的变化。
每个微服务作为一个独立的Docker容器运行服务之间相互隔离降低了服务间的耦合度。利用DockerCompose或Kubernetes等容器编排工具可以实现微服务的自动化部署、管理和扩展。
在Docker容器中运行的微服务实例可以自动注册到SpringCloud的服务注册中心如Eureka并由其他服务发现和调用。这种服务发现机制使得微服务之间的通信和交互变得更加简单和高效。
Docker安装过程详见Ubuntu安装Docker-CSDN博客
Eureka搭建过程及完整代码详见
微服务1搭建微服务注册中心命令行简易版不使用IDE-CSDN博客
2、本文架构
本文将Eureka微服务放到Docker容器中并运行通过浏览器访问Eureka微服务来进行测试。如下图所示
3、改造现有Eureka微服务
现在我们在已经搭建好的Eureka微服务上稍作修改使之可以运行到Docker中主要步骤如下
1在pom.xml中引入依赖包
plugingroupIdcom.spotify/groupIdartifactIddockerfile-maven-plugin/artifactIdversion1.4.13/versionconfigurationrepositoryeureka-server-docker/repositorytag${version}/tag/configuration
/plugin
2编写Dockerfile
Dockerfile放到项目根目录与pom.xml同一级。
FROM指定基础镜像这里我们基于Java JDK的镜像。
COPY复制文件COPY src dest
FROM openjdk:8-jre-alpineLABEL maintainercloudsky.orgENV TZAsia/Beijing \DIST_NAMEmicroservice-eureka-server-1.0-SNAPSHOTRUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime \ echo $TZ /etc/timezoneCOPY ./target/$DIST_NAME.jar /$DIST_NAME.jarEXPOSE 8080ENTRYPOINT java $JAVA_OPTS -jar /$DIST_NAME.jar
3打包Eureka微服务
将Eureka打包成microservice-eureka-server-1.0-SNAPSHOT.jar
sudo mvn clean package -DskipTests
4Docker构建镜像
sudo mvn dockerfile:build
查看镜像
sudo docker images
4、在Docker中运行Eureka
sudo docker run -p 8080:8080 eureka-server-docker:1.0-SNAPSHOT
浏览器访问测试Eureka。 如果网络不通可参见博文VMware中Ubuntu系统Docker正常运行但网络不通已解决-CSDN博客