运行chmod-从dockerfile构建docker期间出错

时间:2019-09-20 19:49:27

标签: linux docker dockerfile

我正在尝试将.war文件从主机桌面复制到Docker容器内的某个位置。然后,我想提取此.war文件,然后更改对所提取文件文件夹之一下的所有文件的权限。之后,我再次想在相同位置重建一个.war文件(删除旧的.war文件之后),该文件最终将包含具有授予的读/写权限的已编辑文件。然后可以将该新的.war文件复制到我的tomcat / webapps下在docker内部的文件夹中进行部署。

为此,我编写了一个docker文件,如图所示

FROM tomcat:8.5-jdk11 
MAINTAINER derek

RUN mkdir -p /usr/src/temp
COPY SP-files/WAR/SP.war  /usr/src/temp/
RUN jar -xvf /usr/src/temp/SP.war
RUN rm -rf SP.war
RUN chmod 777 /usr/src/temp/WEB-INF/native/*

RUN jar -cvf /usr/src/temp/SP.war .
RUN cp /usr/src/temp/SP.war  /usr/local/tomcat/webapps/

在docker构建过程中出现错误  chmod:无法访问“ / usr / src / temp / WEB-INF / native / *”:没有此类文件或目录

确实,我爆炸的SP.war文件夹为WEB-INF / native / {所有要编辑的文件都在这里}。我不知道为什么无法在WEB-下找到文件INF / native /文件夹。 还有其他方法可以在docker文件中指定chmod命令吗?我还附有错误的屏幕截图。 ERROR-IMAGE Image showing -The folder WEB-INF/native/* is actually created

我也尝试过使用 运行/ bin / bash -c chmod + x / usr / src / temp / WEB-INF / native / *,但没有成功。

1 个答案:

答案 0 :(得分:0)

您最好的选择是将容器运行到可以工作的地步。易于调试。

然后运行:

FROM tomcat:8.5-jdk11 
MAINTAINER derek

RUN mkdir -p /usr/src/temp
COPY SP-files/WAR/SP.war  /usr/src/temp/
RUN jar -xvf /usr/src/temp/SP.war
RUN rm -rf SP.war

在运行容器并运行命令之后:

ls /usr/src/temp/

您将清楚了解目录结构的实际运行情况。之后,您可以将路径调整为有效路径。祝你好运!