2016-10-18 7 views
2

いくつかのドッカーコンテナを再構築しようとすると、現在非常に奇妙な動作が発生しています。Dockerfileの既存のファイルのコピーが不思議に失敗します

$ 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 

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

ファイルも全くdockerignoreファイルが存在しない、現在のディレクトリに提供されています:私は次のエラーが取得

COPY ./startup.sh/

:ビルドは次の行で失敗します

興味深い2つの点があります:

  • 目的地と何か関係があるようです。 COPY命令をCOPY ./startup.sh /foo.shのように変更すると、/var/lib/docker/aufs/mnt/.../foo.shが存在しないと文句を言います。

  • より/以下の手順のように働き、他のdirectorysにコピーするものは:

    COPY ./tomcat-users.xmlは/ usr/local/tomcatに/ confに/ COPY ./*.warは/ usr /ローカル/ tomcatに/ webappsに/

ここは本当に奇妙なことは、ビルドが数週間前に働いていたということですが、今では、ファイルやフォルダへの変更なし以外に失敗しました。

何か助けや指針をいただければ幸いです。ありがとう!

EDIT:フル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

ドッカーファイルの表示に役立つ場合があります。 – user2915097

+0

@ user2915097が追加されました。 –

+0

'COPY keyspace * /'は動作しますか? – user2915097

答えて

1

最初に別のマシンまたはVMであなたのDockerfileの建物を試してみてください。あなたのエラーは、aufsレイヤーの破損のようです。別のマシンで成功したら、ドッカーをきれいにする必要があります。ドッキングウィンドウのリセットについてこの回答会談:click here

よろしく私のドッキングウィンドウのビルドエラーのために

+0

Dockerfileが完璧に動作する別のマシンでDockerfileをテストしました。だから、私のドッカーのインストールはどうにかして処理されるように見えます。私はあなたのリンクに記載されているように私のインストールをきれいにしようとします。ありがとう! –

0

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

私はドッカサービスを再起動することによって、それを周りました。

sudo service docker restart 
関連する問題