多分私はこれをオーバーコンプリートしています。Dockerコンテナからそのホストにファイルを同期バックする方法は?
私の目標は、Windows上でNode.jsアプリケーション開発用のDockerベースのワークフローを作成することです。開発時間で
、私はコンテナ内でローカルに私のアプリを実行して、まだあまり手間をかけずに最新版を見ることができると思います(私は最新のを見るために画像毎回を再構築する必要はありません) 。
私は生産に展開するとき一方、私は私のソースファイルは、すべての依存関係(
npm install
)とコンテナイメージに「焼き」がしたい
だから私は2 Vagrantfilesを作成 - 1つはコンテナ用、もう1つはホスト用です。ここでは後者の抜粋です:
Vagrant.configure(2) do |config|
config.vm.provider "docker" do |docker|
docker.vagrant_vagrantfile = "host/Vagrantfile" # it references the host Vagrantfile
docker.build_dir = "." # we have a Dockerfile in the same dir
docker.create_args = ['--volume="/usr/src/host:/usr/src/appcontainer:rw"']
end
end
/usr/src/host
は(node_modules
なし)私のソースコードのすべてを含むディレクトリです。 Dockerfile
、ドッカーコピー/usr/src/appcontainer
からpackage.json
や課題のビルドnpm install
が私の第二の必要条件の罰金である(生産への展開)
中、しかし、私の最初の要件は、開発中のソースを変更することでしたので、私は/usr/src/appcontainer
をマウントホストディレクトリ/usr/src/host
を指すボリュームとして指定します。ただし、/usr/src/host
にはnode_modules
フォルダがないため、これは機能しません。このフォルダはコンテナ内にのみ存在します。
この問題は簡単だと思います.Windowsでファイルを変更すると、LinuxホストのVMとそのコンテナの両方で変更されているのが見えますが、ちょっとしたことがあります。
この同期動作を実現するためのベストプラクティスは何ですか。
これです!ありがとう! – Zsolt