2017-09-23 80 views
1

嗨,這是我的Docker文件。在安裝Maven時出現錯誤,它無法找到「ls -s」軟鏈接命令。請幫我解決一下這個。未知指令在運行中的Docker文件

# We first will give the base image details for the tag "FROM" OS:Version 
FROM centos:latest 
#who will maintain the image 
MAINTAINER XYZ <[email protected]> 


RUN yum install -y httpd curl sed grep egrep fgrep wget git net-tools zip unzip which source openssh-server 

#JAVA INSTALLATION 
ADD http://www.mediafire.com/file/177sevky311fbdh/jdk-8u144-linux-x64.rpm/
RUN rpm -ivh jdk-8u144-linux-x64.rpm 
ENV JAVA_HOME="/usr/java/jdk1.8.0_144" 
ENV JRE_HOME="/usr/java/jdk1.8.0_144/jre" 

#MAVEN INSTALLATION 
ADD https://www.mediafire.com/folder/6b0t6el85gtof/maven/
RUN mv /maven /opt/maven 
    ln -s /opt/maven/bin/mvn /usr/bin/mvn && \ 
    wget http://www.mediafire.com/file/gpg2arhygj0a0wy/maven.sh && \ 
    mv /maven.sh /etc/profile.d && \ 
    chmod 755 /etc/profile.d/maven.sh 


RUN cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original && \ 
    chmod a-w /etc/ssh/sshd_config.original && \ 
    mkdir /var/run/sshd && \ 
    echo 'root:screencast' | chpasswd && \ 
    sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config 

CMD ["/usr/sbin/sshd, "-D"] 
EXPOSE 22 

回答

1

您需要添加一個&&\鏈接RUN命令聚會

否則Dockerfile將無法解釋lnDockerfile command(如RUNCOPYADD,...)

RUN mv /maven /opt/maven &&\ <============== missing 
    ln -s /opt/maven/bin/mvn /usr/bin/mvn && \ 

或者至少再添加第二次運行

RUN mv /maven /opt/maven 
RUN ln -s /opt/maven/bin/mvn /usr/bin/mvn && \ 
^ ... 
| 
--- missing 
+0

謝謝!現在我想知道我們如何運行這個命令「source source /etc/profile.d/maven.sh」 –

+0

@PavanYalamanchili「source source」?通常,一個來源就夠了。 – VonC

+0

這與我工作的&& \問題一樣,謝謝。傻我把它放在下一行。感謝您的幫助!! –

相關問題