dockerfile相关(4):docker常用基础镜像——java镜像
1. java镜像使用Java镜像的最直接方法是把它作为基础镜像或运行时环境。1.1 镜像tagjava:<version>如果你不确定你需要什么,那么请用这个tag。它可以作为一个运行时环境,装载你的源代码,并启动你的应用程序容器;也可以作为基础镜像,用于构建应用镜像。常用tag有:6b38-jdk, 6b38, 6-jdk, 6, openjdk-...
·
1. java镜像
使用Java镜像的最直接方法是把它作为基础镜像或运行时环境。
1.1 镜像tag
java:<version>
如果你不确定你需要什么,那么请用这个tag。它可以作为一个运行时环境,装载你的源代码,并启动你的应用程序容器;也可以作为基础镜像,用于构建应用镜像。
常用tag有:
- 6b38-jdk, 6b38, 6-jdk, 6, openjdk-6b38-jdk, openjdk-6b38, openjdk-6-jdk, openjdk-6
- 6b38-jre, 6-jre, openjdk-6b38-jre, openjdk-6-jre
- 7u111-jdk, 7u111, 7-jdk, 7, openjdk-7u111-jdk, openjdk-7u111, openjdk-7-jdk, openjdk-7
- 7u121-jdk-alpine, 7u121-alpine, 7-jdk-alpine, 7-alpine, openjdk-7u121-jdk-alpine, openjdk-7u121-alpine, openjdk-7-jdk-alpine, openjdk-7-alpine
- 7u111-jre, 7-jre, openjdk-7u111-jre, openjdk-7-jre
- 7u121-jre-alpine, 7-jre-alpine, openjdk-7u121-jre-alpine, openjdk-7-jre-alpine
- 8u111-jdk, 8u111, 8-jdk, 8, jdk, latest, openjdk-8u111-jdk, openjdk-8u111, openjdk-8-jdk, openjdk-8
- 8u111-jdk-alpine, 8u111-alpine, 8-jdk-alpine, 8-alpine, jdk-alpine, alpine, openjdk-8u111-jdk-alpine, openjdk-8u111-alpine, openjdk-8-jdk-alpine, openjdk-8-alpine
- 8u111-jre, 8-jre, jre, openjdk-8u111-jre, openjdk-8-jre
- 8u111-jre-alpine, 8-jre-alpine, jre-alpine, openjdk-8u111-jre-alpine, openjdk-8-jre-alpine
- 9-b149-jdk, 9-b149, 9-jdk, 9, openjdk-9-b149-jdk, openjdk-9-b149, openjdk-9-jdk, openjdk-9
- 9-b149-jre, 9-jre, openjdk-9-b149-jre, openjdk-9-jre
如果要求最终的应用镜像尽可能的小,你应该使用alpine。使用alpine作为基础镜像,然后你可以在Dockerfile中添加想要的东西,详见如何在alpine中安装软件包。
java:alpine
1.2 java镜像作为基础镜像
如果你希望独立构建应用镜像,首先,编写dockerfile:
FROM java:7
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
RUN javac Main.java
CMD ["java", "Main"]
然后,构建应用镜像
$ docker build -t my-java-app .
最后,运行应用容器
$ docker run -it --rm --name my-running-app my-java-app
1.3 java镜像作为运行时环境
如果你希望直接在容器中运行你的代码,在CMD运行以下命令:
$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp java:7 javac Main.java
上述操作会把当前目录作为卷添加到容器中,并把卷设置为工作目录,然后运行命令javac Main.java
,这会告诉Java编译Main.java,并将Java类文件输出到Main.class。
更多推荐
已为社区贡献24条内容
所有评论(0)