3

Web アプリケーションをホストして実行する Docker コンテナを作成しようとしています (主に Symfony2 を使用して PHP で記述されています)。

現時点では、コンテナーはすべてのアプリケーション コードを埋め込み、イメージのビルド時に (Dockerfile を使用して) クローンを作成します。アプリは、Vagrant (Precise64 ベース イメージ) を介して、OSX 上で正しく実行されます。現在、開発目的でコンテナの埋め込みコードをホスト (Vagrant -> OSX) と共有するのに苦労しています (ホスト OSX でファイルを編集すると、コンテナ コードに影響するはずです)。このフォルダをコンテナからホストに共有する方法はないようです。ホストからコンテナー (コマンド-vのオプションrun) でフォルダーを共有すると、元のコンテナー フォルダーが上書きされます。ホスト (Vagrant および OSX) が元の場所を読み取ることができなかったため、ソフト リンクは機能しません。

ソリューションは Docker のボリューム ( http://docs.docker.io/en/latest/use/working_with_volumes/ )にあると確信していますが、それを機能させる方法はまだわかっていません。

フィードバックや経験はありますか?

4

1 に答える 1

3

次の行で、OSX のファイルをコンテナーに共有できます。

OSX dir(host) -shared fold-> /vagrant(vagrant) -volume-> container dir(container)

ただし、ファイルはコンテナではなくホストに保存されます。

ファイルをコンテナーに保存して OSX ホストと共有する場合、すべてのコンテナー ファイルは /var/lib/docker/aufs/mnt/{container id} の aufs ディレクトリにあり、このフォルダーを OSX と共有できます。 vagrant などでサポートされているフェザーによって:

container dir(container) -aufs-> /var/lib/docker/aufs/mnt/{id}(vagrant) -some-> OSX dir(host)
于 2014-01-13T11:39:46.033 に答える