这几天准备在配置新版本的测试环境,因为之前的也是用docker跑tomcat,但是现在新办法直接砍掉一部分tomcat,直接用java来跑依赖包。这对我们运维来说就蛋疼了,确实是没有用docker直接跑jar包的经验,网上搜了一堆零零碎碎的资料,最后到底还是跑起来了,具体实现还需要完善,今天先写一些下来记录一下,以免再碰到此类问题。


交代一下具体背景情况:

1、jar包在普通环境上的运行脚本已经写好,jar包也已经做好,统一归档到一个目录下面几个分支目录。

2、用的是官方java的alpine-7-jre镜像

3、docker用的是1.11,宿主机跑的是ubuntu14.04 LTS

4、为了方便pull镜像,自己在阿里云仓库构建了官方的镜像,另外加上一些常用的工具如:wget vim 之类


直接docker run 的过程记录:

root@ubuntuandy:~# docker run --name jar --net=host registry.aliyuncs.com/andymo/jar  
root@ubuntuandy:~# docker ps -a

wKiom1eIteahymJ5AAPo7DLOOh4718.jpg

如上图所示:刚刚运行的官方镜像立即退出了!!我的命令并没有加上-d ,其实加了也一样会自动退出。


然后仔细去看了一下官方的dockerfile文件,如下:

FROM alpine:3.4
# A few problems with compiling Java from source:
#  1. Oracle.  Licensing prevents us from redistributing the official JDK.
#  2. Compiling OpenJDK also requires the JDK to be installed, and it gets
#   &nb