要运行 Play 需要 Java 和 Python 环境。
可以参考以下链接构建:
http://www.biliyu.com/article/1880.html
也可以从以下链接获取已经构建好的镜像(需要阿里云账户):
https://cr.console.aliyun.com/images/cn-hangzhou/yongdui/openjdk/detail
还可以直接使用作者上传到 Docker Hub 的 openjdk(yongdui/openjdk)
https://hub.docker.com/r/yongdui/openjdk
下面讲述在已有的 Java + Pyhone 环境镜像中怎么添加 Play Framework。
1、下载 Play 压缩包
从以下地址下载需要的版本:
https://www.playframework.com/releases
本例使用 1.5.2 版本,下载 play-1.5.2.zip 文件。
2. 打包 tar.gz 格式的压缩包
后面要使用 Dockerfile 的 ADD 命令将 Play Framework 添加到基础镜像中。ADD 支持 tar.gz 文件的自解压。
1)安装压缩工具
首先要安装压缩工具,如 Bandizip 或者 7-Zip。
2)解压文件
将 play-1.5.2.zip 文件解压到当前目录。解压完成后,当前目录会出现出现一个名为“play-1.5.2”的目录。
3)生成 .tar 文件
右键点击“play-1.5.2”目录,使用压缩工具将其添加到压缩文件。文件类型选择“tar”(注意,在 Bandizip 里是大写 “TAR”)。完成后生成名为“play-1.5.2.tar”的文件。
4)生成 .tar.gz 文件
右键点击“play-1.5.2.tar”文件,继续添加到压缩文件。这个时候选择“gz”类型进行压缩。压缩完成后生成“play-1.5.2.tar.gz”文件。
3、书写 Dockerfile 文件
这里使用阿里云中已经编译好的镜像左右基础镜像。你也可以使用其他渠道或者自己编译的镜像。
Dockerfile 文件内容如下:
FROM yongdui/openjdk
ADD play-1.5.2.tar.gz /play/
RUN ln -sf /play/play-1.5.2/play /usr/bin/play
- FROM 命令指定基础镜像。
- ADD 命令会自动将 play-1.5.2.tar.gz 文件解压到 /play/ 目录中。如果目录不存在会自动创建。
- RUN 命令将 play 命令链接到 /usr/bin 目录,是的它在任何地方都可以执行。
4. 构建镜像
执行 docker build 命令构建镜像:
docker build -t yongdui/play:latest .
- -t 参数标识需要定义标签。
- yongdui/play 是镜像名称。
- lastest 是镜像标签。
- 最后面的点表示,使用当前目录下的 Dockerfile 文件进行编译。