内容简介:许久不来一发,很早之前就写过 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. .
网络配置见: https://blog.52itstyle.com/archives/2328/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 在Ignite上运行微服务
- 使用swoole运行thrift服务
- 配置 Tomcat 以服务方式自动运行
- 微服务: 想办法让项目运行起来
- Eclipse使用jetty服务器运行项目
- 原 荐 James邮箱服务器简单运行配置
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Data Structures and Algorithm Analysis in Java
Mark A. Weiss / Pearson / 2006-3-3 / USD 143.00
As the speed and power of computers increases, so does the need for effective programming and algorithm analysis. By approaching these skills in tandem, Mark Allen Weiss teaches readers to develop wel......一起来看看 《Data Structures and Algorithm Analysis in Java》 这本书的介绍吧!