内容简介:许久不来一发,很早之前就写过 Dockerfile,只是迟迟没有记录而已。这里我们以短信、邮件发送服务为例,演示整个过程,目录下事先生成了相关启动JAR。
前言
许久不来一发,很早之前就写过 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. .
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 在Ignite上运行微服务
- 使用swoole运行thrift服务
- 配置 Tomcat 以服务方式自动运行
- 微服务: 想办法让项目运行起来
- Eclipse使用jetty服务器运行项目
- 原 荐 James邮箱服务器简单运行配置
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Internet与WWW程序设计教程(第三版)
戴特尔 / 电子工业出版社 / 2005-8 / 95.00元
《Internet与WWW程序设计教程》(第3版)以大量生动、实用的示例讲述了如何编写多层的、客户/服务器的、数据密集的、基于Web的应用程序,介绍了如何使用XHTML、JavaScript、DHTML、Flash和XML建立客户端应用程序,也介绍了如何使用Web服务器(IIS、PWS和Apache)、数据库(SQL、MySQL、DBI和ADO)、ASP、Perl、CGI、Python、PHP、J......一起来看看 《Internet与WWW程序设计教程(第三版)》 这本书的介绍吧!