Docker学习之运行SpringBoot微服务

栏目: Java · 发布时间: 7年前

内容简介:许久不来一发,很早之前就写过 Dockerfile,只是迟迟没有记录而已。这里我们以短信、邮件发送服务为例,演示整个过程,目录下事先生成了相关启动JAR。

Docker学习之运行SpringBoot微服务

前言

许久不来一发,很早之前就写过 Dockerfile,只是迟迟没有记录而已。

步骤

这里我们以短信、邮件发送服务为例,演示整个过程,目录下事先生成了相关启动JAR。

创建 Dockerfile 文件

# 基础镜像:仓库是java
FROM java:7-jre
# 当前镜像的维护者和联系方式
MAINTAINER itstyle 345849402@qq.com
# 挂载卷
VOLUME /tmp
# 将打包好的springBoot程序拷贝到容器中的指定位置
ADD itstyle_send.jar /opt/app.jar
# 容器对外暴露端口
EXPOSE 8080
# 容器启动后需要执行的命令(ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","-Denv=DEV","/opt/app.jar"])
CMD java -Djava.security.egd=file:/dev/./urandom -jar /opt/app.jar

执行 docker build 进行构建

执行docker build命令,docker就会根据Dockerfile里你定义好的命令进行构建新的镜像。

docker build -t itstyle_send:v1 .

构建过程

Sending build context to Docker daemon 100.6 MB
Step 1 : FROM java:7-jre
Trying to pull repository docker.io/library/java ... 
7-jre: Pulling from docker.io/library/java
5040bd298390: Pull complete 
fce5728aad85: Pull complete 
c42794440453: Pull complete 
9789263043d1: Pull complete 
028c93201aa7: Pull complete 
Digest: sha256:6fb55e5ffc4ce926c320faa5fb807ed1bccd84ccbbe278109c67c5b38684e633
 ---> b0006d129082
Step 2 : MAINTAINER itstyle 345849402@qq.com
 ---> Running in 3eb849897209
 ---> 804057905232
Removing intermediate container 3eb849897209
Step 3 : VOLUME /tmp
 ---> Running in 60c526a95e46
 ---> dc3d00181d4a
Removing intermediate container 60c526a95e46
Step 4 : ADD acts_send.jar /opt/app.jar
 ---> e55343642421
Removing intermediate container 09b296b4e9a3
Step 5 : EXPOSE 8080
 ---> Running in fb4d820d9a91
 ---> da660a4e78e3
Removing intermediate container fb4d820d9a91
Step 6 : CMD java -Djava.security.egd=file:/dev/./urandom -jar /opt/app.jar
 ---> Running in adb0a7921410
 ---> 0b7adaac48d9
Removing intermediate container adb0a7921410
Successfully built 0b7adaac48d9

查看镜像

docker images

如果出现以下说明构建成功:

REPOSITORY   TAG   IMAGE ID   CREATED    SIZE
itstyle_send  v1   0b7adaac48d9 7 minutes ago   374.5 MB

开发者可以把自己制作的镜像push到远端仓库,在任何一个系统上pull下来就可以直接部署了。做到一处制作,出处运行。

创建并运行容器

docker run -d --name itstyle_send  -p 8080:8080 itstyle_send:v1

查看日志

docker logs -f itstyle_send

问题

不过这里有一个问题,最终导致服务并没有启动成功。由于服务对外提供 RPC 服务,使用 zookeeper 作为注册中心,而容器并不能访问宿机以及相关内网网段的IP。

宿机网段:192.168. . ,容器网段:172.17. .

网络配置见: https://blog.52itstyle.com/archives/2328/

Docker学习之运行SpringBoot微服务

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Host Your Web Site In The Cloud

Host Your Web Site In The Cloud

Jeff Barr / SitePoint / 2010-9-28 / USD 39.95

Host Your Web Site On The Cloud is the OFFICIAL step-by-step guide to this revolutionary approach to hosting and managing your websites and applications, authored by Amazon's very own Jeffrey Barr. "H......一起来看看 《Host Your Web Site In The Cloud》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

SHA 加密
SHA 加密

SHA 加密工具