Mac に boot2docker をセットアップしました。Mac にローカル ディレクトリをマウントして、実行中の Docker コンテナにアクセスできるようにするにはどうすればよいですか? ご協力いただきありがとうございます!
4 に答える
/Users 以外の共有を持つ boot2docker
https://github.com/boot2docker/boot2docker/issues/678を参照してください。
フォルダーを VM と共有します。
VBoxManage sharedfolder add boot2docker-vm --name /tmp/Work --hostpath /CODE --automount
un で見つかった情報に基づいて、データが保持されているフォルダーにあるスクリプトをbootscript.sh
VM が実行することがわかります。bootlocal.sh
/var/lib/boot2docker
ファイルを追加する/var/lib/boot2docker/bootlocal.sh
#!/bin/sh
# bash is not available!
mkdir -p /CODE
mount -t vboxsf /tmp/Work /CODE
次に、 vmchmod +x /var/lib/boot2docker/bootlocal.sh
を再起動します。boot2docker-vm
Levi が述べたように、/Users ディレクトリは自動マウントされます。これは、boot2docker と docker-machine の両方に当てはまります。そうは言っても、/Users の外に何かをマウントしたい場合、現在のすべての回答は Boot2docker について語っています。docker-machine を支持して廃止されたため、これは docker-machine で機能します。
まず、docker-machine vm に SSH 接続し、マッピング先のフォルダーを作成します。
docker-machine ssh $MACHINE_NAME "sudo mkdir -p \"$VOL_DIR\""
次に、フォルダーを VirtualBox に共有します。
WORKDIR=$(basename "$VOL_DIR")
vboxmanage sharedfolder add "$MACHINE_NAME" --name "$WORKDIR" --hostpath "$VOL_DIR" --transient
最後に、docker-machine に再度 SSH で接続し、共有したフォルダーをマウントします。
docker-machine ssh $MACHINE_NAME "sudo mount -t vboxsf -o uid=\"$U\",gid=\"$G\" \"$WORKDIR\" \"$VOL_DIR\""
注: UID と GID については、基本的に、まだ取得されていない限り、どのような整数でも使用できます。
これは、OS X El Capitan の docker-machine 0.4.1 および docker 1.8.3 でテストされています。