1. 配置windows环境

安装windows版的docker

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

配置maven环境变量

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

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

在path中添加

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

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

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

2. 配置intellij idea

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

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

在intellij中配置docker

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

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

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

Spring Cloud+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文件

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

文件内容,如下:

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

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

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

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

5. 生成jar

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

用命令mvn package生成jar包

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

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

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

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

6. 执行dockerfile

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

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

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

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

7. 查看docker镜像

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

docker images

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

8. 运行docker容器

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

docker run –d –p 8888:8888 springcloundimage

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

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

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

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

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

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

9. 上传docker镜像

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

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

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

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

登录到docker hub上

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

完成后把镜像push到docker hub中

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

登录到docker hub网站上查看

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

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

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

收工。


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