Win7でboot2docker 1.3を実行しています。
共有フォルダを接続したい。
VirtualBox Managerのイメージプロパティ->共有フォルダーで、必要なフォルダーを追加し、「c/shared」という名前を付けました。 「自動マウント」および「永続化」ボックスがチェックされています。
ただし、boot2dockerが起動しても、マウントされません。追加する必要があります:
Sudo mount -t vboxsf c/shared /c/shared
それが現れるために。 Dockerを使用するたびに必要になるので、起動時に実行するか、すでに実行しているだけにしたいのです。だから、追加できる起動スクリプトがあるかと思ったのですが、どこにあるのかわかりません。
ありがとう
編集:これが別の質問である MacのBoot2Docker-ローカルファイルへのアクセス の複製であることを私に怒鳴っています。 OSXの/ UserやWindowsの/ c/Usersなど、デフォルトではないフォルダをマウントしたいと思いました。そして、私は特に起動スクリプトを求めています。
/var/lib/boot2docker/bootlocal.sh
はおそらくあなたのニーズに合うでしょう、それは最初のスクリプト/opt/bootscripts.sh
によって実行されます
そしてbootscripts.sh
も/var/log/bootlocal.log
に出力を配置します。以下のセグメントを参照してください(boot2docker 1.3.1バージョン)
# Allow local HD customisation
if [ -e /var/lib/boot2docker/bootlocal.sh ]; then
/var/lib/boot2docker/bootlocal.sh > /var/log/bootlocal.log 2>&1 &
fi
私の1つの使用例は
通常、shared
ディレクトリを/c/Users/larry/shared
として配置し、スクリプトを追加します
#/bin/bash
ln -s /c/Users/larry/shared /home/docker/shared
したがって、毎回、ホストと同じようにboot2dockerで~/shared
にアクセスできます
参照 FAQ.md (@KCD提供)
Boot2docker(Windows)を使用している場合は、以下を実行する必要があります。
まず、boot2docker VMの共有フォルダーを作成します。
"C:/Program Files/Oracle/VirtualBox/VBoxManage" sharedfolder add default -name some_shared_folder -hostpath /c/some/path/on/your/windows/box
#Then make this folder automount
docker-machine ssh
vi /var/lib/boot2docker/profile
プロファイルファイルの最後に以下を追加します。
Sudo mkdir /windows_share
Sudo mount -t vboxsf some_shared_folder /windows_share
Docker-machineを再起動します
docker-machine restart
フォルダーの内容がboot2dockerに表示されることを確認します。
docker-machine ssh
ls -al /windows_share
これで、docker runまたはdocker-composeを使用してフォルダーをマウントできます。例えば:
docker run it --rm --volume /windows_share:/windows_share ubuntu /bin/bash
ls -al /windows_share
VMまたはWindowsの再起動後にプロファイルファイルの変更が失われた場合、以下を実行してください:
1)ファイルC:\ Program Files\Docker Toolbox\start.shを編集し、次の行をコメント化します。
#line number 44 (or somewhere around that)
yes | "${DOCKER_MACHINE}" regenerate-certs "${VM}"
#change the line above to:
# yes | "${DOCKER_MACHINE}" regenerate-certs "${VM}"
これであなたの助けをありがとう。新しいマウントにboot2docker "docker"ユーザーがアクセスできるようにするために、追加する必要のあるいくつかのフラグ:
Sudo mount -t vboxsf -o umask=0022,gid=50,uid=1000 Ext-HD /Volumes/Ext-HD
ラリー・カイさんの指示ではうまくいきません。 「c:\ Program Files\Boot2Docker for Windows\start.sh」に変更を加えることができると思ったので、以下を追加します
eval "$(./boot2docker.exe shellinit 2>/dev/null | sed 's,\\,\\\\,g')"
あなたのマウントコマンド
eval "$(./boot2docker ssh 'Sudo mount -t vboxsf c/shared /c/shared')"
ここにコンテナーを開始するコマンドも追加します。
eval "$(docker start KDP)"