2017-02-17 4 views
0

私は、次のDockerfileを使用します。クローンgitはドッカーボリュームにありませんか?

FROM centos 
VOLUME ["apitests"] 
RUN su 
RUN yum -y install git 
RUN git clone https://github.com/Human-Connection/CUBE-arduino-yun.git /apitests/ 

その後、私は今、私はコンテナ内/ apitestsを見つける私のイメージ

docker build -t apitesting . 

を構築し、シェル

docker run -ti apitesting /bin/bash 

でコンテナを起動します。 しかし、私はクローンgitデータを見つけることができません。

私は間違っていますか?

答えて

3

データがあるとVOLUMEを定義します。 DockerはVOLUMEにイメージ内のものを自動的に取り込みます。最初は/apitestsが空です。

FROM centos 
RUN yum -y install git 
RUN git clone https://github.com/Human-Connection/CUBE-arduino-yun.git /apitests/ 
VOLUME ["apitests"] 

また、RUN suはそれ自身のステップとして何もしません。各RUNはそれ自身のコンテナで起動します。 RUNステップの間に引き継がれる唯一のものは、ディスクに書き込まれ、その後イメージレイヤーにコミットされるものです。

+0

ありがとうございました - 私の一日を保存しました!できます... – Marc

2

これは私のために働きます:あなたのディレクトリにデータの作成+読み込み後にボリュームを定義します。

FROM centos 
RUN yum -y install git 
RUN mkdir /apitests 
RUN git clone https://github.com/Human-Connection/CUBE-arduino-yun.git /apitests/ 
VOLUME /apitests 
関連する問題