Docker 制作java8镜像
制作jdk镜像
一、在Linux服务器安装Docker
二、使用Dokcer制作java8镜像
2.1 上传jdk8的压缩包
mkdir -p /home/data/develop/jdk
cd /home/data/develop/jdk
在该路径下上传jdk-8u261-linux-x64.tar.gz包
如下图:
2.2 编写Dockerfile
在/home/data/develop/jdk 编写Dockerfile
vi Dockerfile
#1.指定基础镜像,本来基础镜像用的时scratch,但是由于sh/bash,执行tar命令一直失败!!!!!!!
FROM nginx:latest
#2.指明该镜像的作者
MAINTAINER wux#3.一个复制命令,把jdk安装文件复制到镜像中
COPY jdk-8u261-linux-x64.tar.gz /#4.解压缩
RUN tar -xzf jdk-8u261-linux-x64.tar.gz && rm jdk-8u261-linux-x64.tar.gz#5.配置环境变量
ENV JAVA_HOME=/jdk1.8.0_261
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH#容器启动时需要执行的命令
CMD ["java","-version"]
2.3 制作镜像并查看成果
#制作镜像
docker build -t java:8 .
如下图:
#查看成果
docker run -it java:8
三、遇到的问题
当以from scratch 作为基础镜像时
会出现exec /bin/java: no such file or directory
原因:由于scratch 没有sh或bash,很多命令会依赖它,且无法进入容器内进行交互式调试
解决:可以选择centos作为基础镜像,这里我选择了nginx镜像
疑问:有人可以用scratch作为基础镜像???,希望后面能解决这个问题
更多推荐
所有评论(0)