Dockerfile ADD lstat home/jdk: no such file or directory

Dockerfile内容:

#以centos作为基础镜像
FROM docker.io/centos
#维护者信息
MAINTAINER michard michard@qq.com
#切换目录到/usr
WORKDIR /usr
#创建JDK路径
RUN mkdir java
#创建tomcat路径
RUN mkdir tomcat
#将宿主主机的jdk复制到镜像里
ADD /home/jdk/ /usr/java/
#将宿主主机的tomcat复制到镜像里
ADD /home/tomcat/apache-tomcat-8.5.63/ /usr/tomcat/
#定义环境变量
ENV JAVA_HOME=/usr/java/
ENV JRE_HOME=$JAVA_HOME/jre/
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV path=/sbin:$JAVA_HOME/bin:$PATH
#向外暴露8080端口
EXPOSE 8080
#启动tomcat
ENTRYPOINT ["/usr/tomcat/bin/catalina.sh","run"]

================================================================================

导致找不到jdk文件夹的原因就是:宿主主机的jdk文件夹路径和dockerfile的路径,不在同一个路径下。

解决方法,我把jdk和tomcat的文件夹,移动到和dockerfile同一个目录下,这样dockerfile就顺便的构建成功。

dockerfile改为如下

ADD jdk /usr/java/
ADD tomcat8 /usr/tomcat/

究其原因还是ADD只能在它的上下文使用,即在dockerfile同级目录下,寻找该文件。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值