全站资源开放下载,感谢广大网友的支持
链接失效请移步职涯宝平台的学习路线|资源下载分类
支持用户留言评论_客服实时在线_问题解决更快
非盈利平台

非盈利平台

只为分享一些优质内容

Java帮帮-微信公众号

Java帮帮-微信公众号

将分享做到极致

微信小程序

微信小程序

更方便的阅读

百度小程序

百度小程序

搜索便捷阅读

支付宝小程序

支付宝小程序

支付也能阅读

程序员生活志-公众号

程序员生活志-公众号

程序员生活学习圈,互联网八卦黑料

支付宝赞助-Java帮帮社区
微信赞助-Java帮帮社区

Docker学习之运行SpringBoot微服务

31
发表时间:2018-11-08 11:55来源:Java帮帮-微信公众号


前言

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

步骤

这里我们以短信、邮件发送服务为例,演示整个过程,目录下事先生成了相关启动JAR,项目采用 springboot+dubbo对方提供RPC服务。

创建 Dockerfile 文件

# 基础镜像:仓库是javaFROM 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里你定义好的命令进行构建新的镜像。

dockerbuild-titstyle_send:v1 .

构建过程

Sending build context to Docker daemon 100.6 MBStep 1 : FROM java:7-jreTrying to pull repository docker.io/library/java ... 7-jre: Pulling from docker.io/library/java5040bd298390: Pull complete fce5728aad85: Pull complete c42794440453: Pull complete 9789263043d1: Pull complete 028c93201aa7: Pull complete Digest: sha256:6fb55e5ffc4ce926c320faa5fb807ed1bccd84ccbbe278109c67c5b38684e633 ---> b0006d129082Step 2 : MAINTAINER itstyle 345849402@qq.com ---> Running in3eb849897209 ---> 804057905232Removing intermediate container 3eb849897209Step 3 : VOLUME /tmp ---> Running in60c526a95e46 ---> dc3d00181d4aRemoving intermediate container 60c526a95e46Step 4 : ADD acts_send.jar /opt/app.jar ---> e55343642421Removing intermediate container 09b296b4e9a3Step 5 : EXPOSE 8080 ---> Running in fb4d820d9a91 ---> da660a4e78e3Removing intermediate container fb4d820d9a91Step 6 : CMD java -Djava.security.egd=file:/dev/./urandom -jar /opt/app.jar ---> Running in adb0a7921410 ---> 0b7adaac48d9Removing intermediate container adb0a7921410Successfully built 0b7adaac48d9

查看镜像

docker images

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

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

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

创建并运行容器

dockerrun-d--nameitstyle_send-p8080:8080itstyle_send:v1

查看日志

docker logs -f itstyle_send

问题

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

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

解决方案

如果多台服务器在一个局域网,可以把容器跟宿机配置成一个网段。


Java帮帮学习群生态

Java帮帮学习群生态

总有一款能帮到你

Java学习群

Java学习群

与大牛一起交流

大数据学习群

大数据学习群

在数据中成长

九点编程学习群

九点编程学习群

深夜九点学编程

python学习群

python学习群

人工智能,爬虫

测试学习群

测试学习群

感受测试的魅力

Java帮帮生态承诺

Java帮帮生态承诺

一直坚守,不负重望

初心
勤俭
诚信
正义
分享
友链交换:加帮主QQ2524138991 留言即可 24小时内答复  
满吉教育资讯
会员登录
获取验证码
登录
登录
我的资料
留言
回到顶部