Docker创建JDK镜像
将要用到的技术及软件:
- 编译方式:dockerfile
- Linux镜像:Ubuntu:16.04
- jdk:jdk1.8.0_144
1、下载Ubuntu16.04基础镜像
docker pull ubuntu:16.04
docker images
2、在本地创建java目录,并下载jdk
3、编写Dockerfile
FROM ubuntu:16.04
MAINTAINER bo
ADD jdk-8u101-linux-x64.tar.gz /usr/local/
ENV JAVA_HOME /usr/local/jdk1.8.0_101
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin
编写后,执行build命令:
docker build -t java18
执行docker images查看生产的镜像:
4、运行镜像
5、编译执行java代码测试
启动容器时,映射宿主机当前目录到容器的/usr/src/java目录下:
docker run -v "$(pwd)":/usr/src/java -it java18
进入容器,查看,宿主机目录已经挂载到容器中:
执行javac编译生产class文件,执行java。
这里报错,找不到class,应该是上面Dockerfile中的classpath变量配置错误,前面需要加上".;"
CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
手动执行class文件的路径。