2017-01-14 3 views
2

私はDockerを初めて使用しています。私はDockerを正式なドキュメントで学習しています。 1 tutorial「ドッカーの作成を実行して」コンテナの外部にファイルを作成できるのはなぜですか?

、それはドッカーとDjangoプロジェクトを作成する方法について説明します。私は理解できない何

は、以下のコマンドです。

docker-compose run web django-admin.py startproject composeexample . 

docは、コンテナ内にDjangoプロジェクトを作成し、それらの新しい作成ファイルはローカルファイルシステムに存在するとしています。

私の質問は、それらがコンテナ内に作成されている場合、これらの新しい作成されたファイルは、ローカルシステムになりますなぜですか?

答えて

3

(。)作成したコンテナの/コードディレクトリに。 /コードのディレクトリ(あなたがコンテナ内の内部プロジェクトを作成したディレクトリ)にあるすべてのファイルをプロジェクトディレクトリの下に、ローカル・システムにもなることを意味

volumes: 
    - .:/code 

はっきりと物事を見るためにドッカードキュメント内のデータボリュームに見てみましょう:

https://docs.docker.com/engine/tutorials/dockervolumes/

+0

をそのコマンドがコンテナ内で実行されますが、ファイルが原因ボリュームにローカルファイルシステム内に作成されますけれどもことを意味しています設定? – Chuck

+1

それはそれです、ファイルはこの場合共有されたホストディレクトリに作成されます。これはあなたの現在のディレクトリです。現在のディレクトリ(。)で行わ 任意の修飾は、その逆の/コードコンテナのディレクトリに反映されます。 – kstromeiraos

+0

あなたはそれが存在する場合、コンテナフォルダは常に上書きされ、そうでない場合は、それが作成されますので、世話をする必要があります。 – wcomnisky

1

ためドッカ-compose.ymlにそれがボリューム定義されています:Dockerfileとドッキングウィンドウ-構成する

 
volumes: 
     - .:/code 

コロンがコンピュータにカレントディレクトリを意味する前に、「ドット」(ホスト)の相対。 yml。そして、/ codeはコンテナ内のディレクトリです。あなたのdocker-compose.ymlファイルにあなたの現在のディレクトリをマップする共有ボリュームとウェブと呼ばれる画像を作成しているためだ

関連する問題