2017-12-22 19 views

答えて

1

Dockerfileはイメージの作成方法であり、使用方法ではありません。したがって、Dockerfileでバインドマウントを指定することはできません。代わりにdocker-composeを使用してみてください。あなたはこのようになりますのためのディレクトリをマウントするシンプルdocker-compose.yml:あなたには、いくつかの他の手段で画像を構築している場合

version: '3.1' 

services: 
    mycontainer: 
    image: myimage 
    build: . 
    volumes: 
     - './path/on/docker/host:/path/inside/container' 

build: .はオプションですが、時にはそれが1でそれをすべて行うために便利です。他の回答の言うことに加えてdocker-compose up -d

0

簡易返答はありません。

ドッカー画像の基本的な設計原則は、移植性です。バインドマウントは、マウントされたフォルダがホストマシン上で定義されているため、ホスト固有のものです。したがって、これはDockerイメージの移植性要件と矛盾します。

0

を実行し、この:

バインドマウントは彼らが巨大なセキュリティ上のリスクになる画像に埋め込むことができるように、ホストファイルシステムへのアクセスを提供するので

。たとえば、Webサーバーであると主張するイメージを考えてみましょう。実際には、バインドでは /etc/passwd/etc/shadowがマウントされ、リモートサーバーに送信されます。

またはバインドして/lib/ld-linux.soをマウントして上書きすると、システム全体が破壊されます。

これらの理由から、Dockerファイルにバインドマウントを埋め込むことはできません。同様に、ホストポートマッピング、ホストデバイスアクセス、またはDockerfile内の他の同様の属性を指定することはできません。

+0

良い説明でした。 – Mufeed

関連する問題