Spring Cloud+Docker创建微服务容器实例
1. 配置windows环境安装windows版的docker
此步骤可自行百度一下安装方式。
配置maven环境变量
在path中添加maven的bin目录,正常情况下,maven的MAVEN_HOME已经存在了,在此基础上加/bin即为maven的path环境变量
http://i2.运维网.com/images/blog/201806/07/5e91ce11288c03f6e86f919abf3993cc.jpg
在path中添加
http://i2.运维网.com/images/blog/201806/07/69f670a0af06846a2fa51f9b70b4cc8f.jpg
在命令行中执行mvn --version,检查maven的配置是否正确
http://i2.运维网.com/images/blog/201806/07/271beacb241682546033ff4927224712.jpg
2. 配置intellij idea
打开windows版的docker,在settings窗口中勾选Expose daemon on tcp://localhost:2375 without TLS
http://i2.运维网.com/images/blog/201806/07/49a12de8c0b31dc4a7ec92459cd3f901.jpg
在intellij中配置docker
File–>Settings–>Build,Execution,Deployment–>Docker–>进行如下配置:
http://i2.运维网.com/images/blog/201806/07/8577bb02ef006f52123c404d0debab74.jpg
配置完成后会自动在底部出现docker的工具窗口
http://i2.运维网.com/images/blog/201806/07/7c2fd96fc5da4bb56a7669ec0d152813.jpg
如果没有自动出现,可以通过IDEA顶部工具栏的View–>Tool Windows–>Docker
3. 创建spring-clound项目
创建一个spring clound的注册中心项目,具体步骤可自行百度。说重点,创建完后,在pom.xml中加入如下的依赖项。
com.spotify
docker-maven-plugin
0.4.3
${docker.image.prefix}/${project.artifactId}
src/main/docker
/
${project.build.directory}
${project.build.finalName}.jar
4. 编写dockerfile
在main目录下创建docker目录,在docker目录中创建Dockerfile文件
http://i2.运维网.com/images/blog/201806/07/a50c1988ef95356d66d92c1bd0ed913e.png
文件内容,如下:
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的小三角上点击,弹出如下菜单
http://i2.运维网.com/images/blog/201806/07/42569da576fcfa9b29deebfb6ed940f8.jpg
点击“edit’docker/Dockerfile-reg’,弹出如下窗口,可参考窗口内容进行配置
http://i2.运维网.com/images/blog/201806/07/738b618c90d5b17dbabe54150cf558a4.png
5. 生成jar包
执行dockerfile之前需要保证项目的jar包是存在的,而且要和dockerfile在同级目录。
用命令mvn package生成jar包
http://i2.运维网.com/images/blog/201806/07/f07fb1841561472ee72e4ff7bc6d8067.png
完成后可以看到下面的结果
http://i2.运维网.com/images/blog/201806/07/3c7153f3c3c5564a192837fb61b4aa01.jpg
把jar包copy到Dockerfile的同级目录下
6. 执行dockerfile
选中Dockerfile后,右键,然后点击“run/dockerfile-reg”
http://i2.运维网.com/images/blog/201806/07/a730fb8478b2d24e128161bf6fa57ddc.png
会在输出窗口显示过程日志
http://i2.运维网.com/images/blog/201806/07/8dbb9f36e4fdd6c2bb66f73ccc5bc90b.png
7. 查看docker镜像
Deploy完成后,可以用docker命令行工具查看现有的images镜像信息
docker images
http://i2.运维网.com/images/blog/201806/07/6ed13af04fe3ff23debdc3bade68f3fa.jpg
8. 运行docker容器
通过执行如下命令,创建一个docker容器
docker run –d –p 8888:8888 springcloundimage
http://i2.运维网.com/images/blog/201806/07/2b2aab20930a7517805a736a6576e727.png
用docker ps查看正在运行的docker容器
http://i2.运维网.com/images/blog/201806/07/a21f74c2e839cea8ea1ad630e84cc02f.jpg
可以看到我们刚创建的容器。
在本地访问http://localhost:8888可以看到spring cloud的注册中心页面
http://i2.运维网.com/images/blog/201806/07/77915c61daf62b9e5e868462512bc51e.jpg
9. 上传docker镜像
上传之前需要把镜像的名字做一下小的改动,如下图
http://i2.运维网.com/images/blog/201806/07/c19aebdd95df2622827d4ed3362ec4a2.png
修改完成后,重新运行dockerfile,查看docker images可以看到新生成了一个image
http://i2.运维网.com/images/blog/201806/07/f951673e24b941222aad62240e471891.jpg
登录到docker hub上
http://i2.运维网.com/images/blog/201806/07/e75f84c98d56101703b6f4cca1d87747.png
完成后把镜像push到docker hub中
http://i2.运维网.com/images/blog/201806/07/fb1a6c965e1a81418092a9ba2fa1a0c7.jpg
登录到docker hub网站上查看
http://i2.运维网.com/images/blog/201806/07/4b140efb8fa98b5aef496f09aae67224.jpg
已存在此镜像,本地pull一下
http://i2.运维网.com/images/blog/201806/07/84af8b5354cdaa047a04a856186d45c8.jpg
收工。
http://i2.运维网.com/images/blog/201806/07/0d1bf7af7f3379f1e4d28e57354477d6.jpg
页:
[1]