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 构建微服务

在 Docker 中将 Spring-cloud-config 服务器托管为微服务

译文用Spring Cloud和Docker搭建微服务平台

使用Spring Cloud和Docker构建微服务架构

使用 Spring Cloud 和 Docker 构建微服务架构