Spring Cloud+Docker创建微服务容器实例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Cloud+Docker创建微服务容器实例相关的知识,希望对你有一定的参考价值。
1. 配置windows环境
安装windows版的docker
此步骤可自行百度一下安装方式。
配置maven环境变量
在path中添加maven的bin目录,正常情况下,maven的MAVEN_HOME已经存在了,在此基础上加/bin即为maven的path环境变量
在path中添加
在命令行中执行mvn --version,检查maven的配置是否正确
2. 配置intellij idea
打开windows版的docker,在settings窗口中勾选Expose daemon on tcp://localhost:2375 without TLS
在intellij中配置docker
File–>Settings–>Build,Execution,Deployment–>Docker–>进行如下配置:
配置完成后会自动在底部出现docker的工具窗口
如果没有自动出现,可以通过IDEA顶部工具栏的View–>Tool Windows–>Docker
3. 创建spring-clound项目
创建一个spring clound的注册中心项目,具体步骤可自行百度。说重点,创建完后,在pom.xml中加入如下的依赖项。
<!-- tag::plugin[] -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.3</version>
<configuration>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
<!-- end::plugin[] -->
4. 编写dockerfile
在main目录下创建docker目录,在docker目录中创建Dockerfile文件
文件内容,如下:
FROM java:8
VOLUME /tmp
ADD application-0.0.1.jar app.jar
#RUN bash -c ‘touch /app.jar‘
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
EXPOSE 8888
在Dockerfile的小三角上点击,弹出如下菜单
点击“edit’docker/Dockerfile-reg’,弹出如下窗口,可参考窗口内容进行配置
5. 生成jar包
执行dockerfile之前需要保证项目的jar包是存在的,而且要和dockerfile在同级目录。
用命令mvn package生成jar包
完成后可以看到下面的结果
把jar包copy到Dockerfile的同级目录下
6. 执行dockerfile
选中Dockerfile后,右键,然后点击“run/dockerfile-reg”
会在输出窗口显示过程日志
7. 查看docker镜像
Deploy完成后,可以用docker命令行工具查看现有的images镜像信息
docker images
8. 运行docker容器
通过执行如下命令,创建一个docker容器
docker run –d –p 8888:8888 springcloundimage
用docker ps查看正在运行的docker容器
可以看到我们刚创建的容器。
在本地访问http://localhost:8888可以看到spring cloud的注册中心页面
9. 上传docker镜像
上传之前需要把镜像的名字做一下小的改动,如下图
修改完成后,重新运行dockerfile,查看docker images可以看到新生成了一个image
登录到docker hub上
完成后把镜像push到docker hub中
登录到docker hub网站上查看
已存在此镜像,本地pull一下
收工。
以上是关于Spring Cloud+Docker创建微服务容器实例的主要内容,如果未能解决你的问题,请参考以下文章
结合Docker运行Spring Cloud微服务的多种方式
使用 Spring Cloud 和 Docker 构建微服务