2017-03-23 11 views
0

内部に別のコンテナを含むdocker-composeのスタックを構築しようとしています。これは、内部のすべてのプロジェクトで開発環境を実行することです。docker-composeのボリュームがコンテナに表示されない

問題は、アプリケーションソースのボリュームが、ビルドされたイメージに表示されていないことです。 project1

FROM python:2.7 

RUN mkdir -p /src 

WORKDIR /src 
RUN echo "---------------------" 
RUN ls -la 
RUN echo "---------------------" 

ため

MacOS Sierra 
Docker version 17.03.0-ce, build 60ccb22 
Boot2Docker-cli version: v1.8.0 

私のディレクトリツリー

/dockers     <======= one directory with all docker files for each project 

    docker-compose.yml  <======= The main image 

    /project1    <======= dockerfile for each project 
    Dockerfile 
    /project2 
    Dockerfile 
    /project3 
    Dockerfile 

/project1    <======= project1 source folder 
    test.txt 
/project2 
/project3 

私のドッキングウィンドウ-compose.yml

project1: 
    build: ./project1 
    volumes: 
    - ../project1/:/src 

私dockerfileだから私はを構築しよう3210ファイル

$ sudo docker-compose build --no-cache 

そして、私はtest.txtファイル

Building express 
ERROR: Cannot locate specified Dockerfile: Dockerfile 
➜ docker git:(master) ✗ sudo docker-compose build --no-cache 
Building project1 
Step 1/7 : FROM python:2.7 
---> ca388cdb5ac1 
Step 2/7 : RUN mkdir -p /src 
---> Running in 393a462f7a44 
---> 4fbeb32d88b3 
Removing intermediate container 393a462f7a44 
Step 3/7 : WORKDIR /src 
---> 03ce193577ab 
Removing intermediate container b1cd746b699a 
Step 4/7 : RUN echo "--------------------------" 
---> Running in 82df8a512c90 
---------------------------- 
---> 6dea58ba5051 
Removing intermediate container 82df8a512c90 
Step 5/7 : RUN ls -la 
---> Running in 905417d0cd19 
total 8 
drwxr-xr-x 2 root root 4096 Mar 23 17:12 .     <====== EMPTY :(
drwxr-xr-x 1 root root 4096 Mar 23 17:12 ..     <====== EMPTY :(
---> 53764caffb1a 
Removing intermediate container 905417d0cd19 
Step 6/7 : RUN echo "-----------------------------" 
---> Running in 110e765d102a 
---------------------------- 
---> b752230fd6dc 
Removing intermediate container 110e765d102a 
Step 7/7 : EXPOSE 3000 
---> Running in 1cfe2e80d282 
---> 5e3e740d5a9a 
Removing intermediate container 1cfe2e80d282 
Successfully built 5e3e740d5a9a 

答えて

0

ボリュームがドッカーでのランタイム構成されている期待していたとき、それは空のフォルダを示しています。それらが構成可能であるため、ビルドフェーズでボリュームを参照する場合、基本的にチェックできない可能性のある壊れた依存関係が作成されます。

もっと技術的な理由があると確信していますが、実際には行うべきではありません。すべてのものをランタイムセットアップコマンドに移動して、OKにしてください。

+0

答えに感謝します。あなたの提案をどうやって行うかについてもう少し詳しく説明できますか? – anderlaini

関連する問題