2016-10-18 1 views
2

일부 도커 컨테이너를 재구성하는 중 현재 매우 이상한 동작이 발생하고 있습니다.Dockerfile에있는 기존 파일의 COPY가 신비하게 실패했습니다.

나는 다음과 같은 오류 얻을
COPY ./startup.sh/

:

Step 15 : COPY ./startup.sh/
stat /var/lib/docker/aufs/mnt/03a7dbf0115dabea5d4cb0ee7ebc84fe79254066089e50e8a7fb55c0c31d8c8d/startup.sh: no such file or directory 

파일이 현재 디렉토리에서 사용할 수를, 또한 더 dockerignore 파일이 존재하지 :

$ ls -al 
insgesamt 65032 
drwxr-xr-x 2 user user 4096 Okt 18 14:50 . 
drwxr-xr-x 11 user user 4096 Okt 17 17:33 .. 
-rwxr--r-- 1 user user 89 Okt 18 15:12 build 
-rwxr-xr-x 1 user user 17879 Mär 4 2016 catalina.sh 
-rw-r--r-- 1 user user 3531 Okt 18 15:26 Dockerfile 
-rw-r--r-- 1 user user 3470 Aug 2 14:13 Dockerfile.org 
-rw-r--r-- 1 user user 44043922 Jul 4 09:40 deploy-1.0-SNAPSHOT.war 
-rw-r--r-- 1 user user 0 Okt 18 14:50 foo 
-rw-r--r-- 1 user user 309780 Mär 2 2016 jolokia.war 
-rw-r--r-- 1 user user 111731 Jul 13 13:13 keyspace_3x.cql 
-rwxr--r-- 1 user user 3551 Jul 5 14:06 startup.sh 
-rw-r--r-- 1 user user 17227683 Mai 10 10:32 statusLogging.war 
-rwxr-xr-x 1 user user 84 Jul 13 12:49 tools 
-rwx------ 1 user user 4839500 Jul 13 13:33 tools-1.0-SNAPSHOT.jar 
빌드는 다음 줄에 실패

재미있는 점이 두 가지 있습니다.

  • 목적지와 관련이있는 것 같습니다. COPY 명령어를 COPY ./startup.sh /foo.sh과 같이 수정하면 /var/lib/docker/aufs/mnt/.../foo.sh이 존재하지 않는다고 불평합니다.

    COPY ./tomcat-users.xml/usr/지방/바람둥이/conf의/ COPY ./*.war는/usr : 다음 지침처럼/작품 이외의 directorys,에

  • 복사 물건/지역/바람둥이/웹 어플리케이션/

여기 정말 이상한 일이 빌드가 몇 주 전 일이다,하지만 지금은 파일 및 폴더에 대한 변경없이 외에 실패합니다.

어떤 도움이나 조언이라도 대단히 감사하겠습니다. 감사!

편집 : 전체 dockerfile :

FROM java:7-jre 

MAINTAINER user 


ENV http_proxy http://xxx.xxx.xxx.x:8111 
ENV https_proxy https://xxx.xxx.xxx.x:8111 



ENV CATALINA_HOME /usr/local/tomcat 
ENV PATH $CATALINA_HOME/bin:$PATH 
RUN mkdir -p "$CATALINA_HOME" 
WORKDIR $CATALINA_HOME 

# see https://www.apache.org/dist/tomcat/tomcat-8/KEYS 
#RUN gpg --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys \ 
#  05AB33110949707C93A279E3D3EFE6B686867BA6 \ 
#  07E48665A34DCAFAE522E5E6266191C37C037D42 \ 
#  47309207D818FFD8DCD3F83F1931D684307A10A5 \ 
#  541FBE7D8F78B25E055DDEE13C370389288584E7 \ 
#  61B832AC2F1C5A90F0F9B00A1C506407564C17A3 \ 
#  79F7026C690BAA50B92CD8B66A3AD3F4F22C4FED \ 
#  80FF76D88A969FE46108558A80B953A041E49465 \ 
#  8B39757B1D8A994DF2433ED58B3A601F08C975E5 \ 
#  A27677289986DB50844682F8ACB77FC2E86E29AC \ 
#  A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 \ 
#  B3F49CD3B9BD2996DA90F817ED3873F5D3262722 \ 
#  DCFD35E0BF8CA7344752DE8B6FB21E8933C60243 \ 
#  F3A04C595DB5B6A5F1ECA43E3B7BBB100D811BBE \ 
#  F7DA48BB64BCB84ECBA7EE6935CD23C10D498E23 

ENV TOMCAT_MAJOR 6 
ENV TOMCAT_VERSION 6.0.45 
ENV TOMCAT_TGZ_URL http://archive.apache.org/dist/tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz 

RUN set -x \ 
     && curl -fSL "$TOMCAT_TGZ_URL" -o tomcat.tar.gz \ 
     && curl -fSL "$TOMCAT_TGZ_URL.asc" -o tomcat.tar.gz.asc \ 
     && tar -xvf tomcat.tar.gz --strip-components=1 \ 
     && rm bin/*.bat \ 
     && rm tomcat.tar.gz* \ 
     && apt-get update \ 
     && apt-get -y install mc \ 
     && apt-get -y install openssh-server \ 
     && apt-get install -yq gcc make openssl libssl-dev libapr1 libapr1-dev openjdk-7-jdk="$JAVA_DEBIAN_VERSION" \ 
     && tar zxf /usr/local/tomcat/bin/tomcat-native.tar.gz -C /tmp \ 
     && cd /tmp/tomcat-native*-src/jni/native/ \ 
     && ./configure --with-apr=/usr/bin/apr-1-config --with-java-home=/usr/lib/jvm/java-7-openjdk-amd64/ --with-ssl=yes --libdir=/usr/lib/jni \ 
     && make \ 
     && make install \ 
     && apt-get purge -y openjdk-7-jdk="$JAVA_DEBIAN_VERSION" gcc make libssl-dev libapr1-dev \ 
     && apt-get -y autoremove \ 
     && rm -rf /tmp/tomcat-native* \ 
     && rm -rf /var/lib/apt/lists/* \ 
     && rm -rf /usr/local/tomcat/webapps/docs \ 
     && rm -rf /usr/local/tomcat/webapps/examples \ 
     && rm -rf /usr/local/tomcat/webapps/manager \ 
     && rm -rf /usr/local/tomcat/webapps/host-manager \ 
     && mkdir -p /var/run/sshd \ 
     && echo "session optional pam_umask.so umask=0002" >> /etc/pam.d/sshd \ 
     && sed -r -i "s/(^Subsystem.*)/#\1/" /etc/ssh/sshd_config \ 
     && echo "#Custom" >> /etc/ssh/sshd_config \ 
     && echo "Subsystem  sftp internal-sftp" >> /etc/ssh/sshd_config \ 
     && echo "" >> /etc/ssh/sshd_config \ 
     && echo "Match Group sftp-user" >> /etc/ssh/sshd_config \ 
     && echo " ChrootDirectory /data/" >> /etc/ssh/sshd_config \ 
     && echo " ForceCommand internal-sftp" >> /etc/ssh/sshd_config \ 
     && groupadd sftp-user \ 
     && useradd -g sftp-user sftp-user 

RUN sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config 

# SSH login fix. Otherwise user is kicked off after login 
RUN sed '[email protected]\s*required\s*[email protected] optional [email protected]' -i /etc/pam.d/sshd 

COPY ./startup.sh/
COPY ./tomcat-users.xml /usr/local/tomcat/conf/ 
COPY ./*.war /usr/local/tomcat/webapps/ 
COPY ./catalina.sh /usr/local/tomcat/bin/ 

EXPOSE 8080 
EXPOSE 22 
EXPOSE 7199 

RUN rmdir /usr/local/tomcat/logs \ 
    && ln -s /arkadon/logs /usr/local/tomcat/logs \ 
    && ln -s /arkadon/logs /var/log/tomcat6 

COPY ./tools* /usr/local/bin/ 
COPY keyspace*/

CMD ["/startup.sh"] 
+0

Dockerfile을 보는 것이 도움이 될 수 있습니다. – user2915097

+0

@ user2915097이 (가) 추가되었습니다. –

+0

'COPY keyspace * /'가 작동합니까? – user2915097

답변

1

먼저 다른 컴퓨터 또는 VM에서 Dockerfile 건물을 시도합니다. 오류는 파일 시스템 레이어의 손상과 같습니다. 다른 컴퓨터에서 성공하면 도커를 청소해야합니다. 리셋 고정 표시기에 대한이 답변 회담 : click here 내 고정 표시기 빌드 오류

감사

+0

Dockerfile이 완벽하게 작동 한 다른 컴퓨터에서 Dockerfile을 테스트했습니다. 내 부두 설치가 어떻게 든 해결 될 것 같습니다. 귀하의 링크에 설명 된대로 설치를 청소하려고합니다. 감사! –

0

,

COPY failed: stat /<**path**> :no such file or directory 

나는 고정 표시기 서비스를 다시 시작하여 주위를 얻었다.

sudo service docker restart 
관련 문제