Spring Cloud+Docker创建微服务容器实例

1. 配置windows环境

安装windows版的docker

此步骤可自行百度一下安装方式。

配置maven环境变量

在path中添加maven的bin目录,正常情况下,maven的MAVEN_HOME已经存在了,在此基础上加/bin即为maven的path环境变量

clip_image002

在path中添加

clip_image004

在命令行中执行mvn --version,检查maven的配置是否正确

clip_image006

2. 配置intellij idea

打开windows版的docker,在settings窗口中勾选Expose daemon on tcp://localhost:2375 without TLS

clip_image008

在intellij中配置docker

File–>Settings–>Build,Execution,Deployment–>Docker–>进行如下配置:

clip_image010

配置完成后会自动在底部出现docker的工具窗口

clip_image012

如果没有自动出现,可以通过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文件

clip_image013

文件内容,如下:

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的小三角上点击,弹出如下菜单

clip_image015

点击“edit’docker/Dockerfile-reg’,弹出如下窗口,可参考窗口内容进行配置

clip_image016

5. 生成jar

执行dockerfile之前需要保证项目的jar包是存在的,而且要和dockerfile在同级目录。

用命令mvn package生成jar包

clip_image017

完成后可以看到下面的结果

clip_image019

把jar包copy到Dockerfile的同级目录下

6. 执行dockerfile

选中Dockerfile后,右键,然后点击“run/dockerfile-reg”

clip_image020

会在输出窗口显示过程日志

clip_image021

7. 查看docker镜像

Deploy完成后,可以用docker命令行工具查看现有的images镜像信息

docker images

clip_image023

8. 运行docker容器

通过执行如下命令,创建一个docker容器

docker run –d –p 8888:8888 springcloundimage

clip_image024

用docker ps查看正在运行的docker容器

clip_image026

可以看到我们刚创建的容器。

在本地访问http://localhost:8888可以看到spring cloud的注册中心页面

clip_image028

9. 上传docker镜像

上传之前需要把镜像的名字做一下小的改动,如下图

clip_image029

修改完成后,重新运行dockerfile,查看docker images可以看到新生成了一个image

clip_image031

登录到docker hub上

clip_image032

完成后把镜像push到docker hub中

clip_image034

登录到docker hub网站上查看

clip_image036

已存在此镜像,本地pull一下

clip_image038

收工。


q

猜你喜欢

转载自blog.51cto.com/12482328/2125835
今日推荐