thư mục chia sẻ docker-machine / vbox không tồn tại khi VM khởi động lại


2

Tôi đã cài đặt docker-machine và ngay lập tức cố gắng chia sẻ một thư mục với VM mà nó tạo ra. Đây là những gì tôi đã làm;

# share the folder to the VM
docker-machine stop default
vboxmanage sharedfolder add default --name apt-mirror --hostpath D:/apt-mirror
docker-machine start default
docker-machine env default

# create a mount point within the VM
docker-machine ssh default "sudo install -m 0755 -o root -g root -d /apt-mirror"

# mount the shared folder within the VM
docker-machine ssh default \
    "echo 'apt-mirror  /apt-mirror   vboxsf   defaults   0   0' \
    | sudo tee -a /etc/fstab ; sudo mount -a"

Sau này, tôi 'docker-machine ssh default', và thấy mọi thứ hoạt động như mong đợi.

Tiếp theo, tôi thử khởi động lại VM để đảm bảo mọi thứ sẽ tồn tại;

docker-machine stop default
docker-machine start default
docker-machine env default

Sau này tôi 'docker-machine ssh default', và thấy nó không tồn tại;

  • / apt-mirror không tồn tại
  • / etc / fstab mục bị thiếu

Vẫn với phiên ssh tôi có thể thực hiện điều này để lấy lại mount;

sudo mkdir /apt-mirror
sudo mount -t vboxsf apt-mirror /apt-mirror -o defaults

Có cách nào để làm cho các thiết lập ban đầu tồn tại khởi động lại không?

Câu trả lời:


0

Tôi tìm thấy câu trả lời dựa trên bài viết stackoverflow này . Dưới đây là tất cả các bước dưới dạng tập lệnh bash có thể chạy trong thiết bị đầu cuối docker-machine.

#!env bash

: ${NAME:=default}
: ${SHARE:=u:}
: ${MOUNT:=/u}
SCRIPT=/mnt/sda1/var/lib/boot2docker/bootlocal.sh

set -x

docker-machine stop $NAME
VBoxManage.exe sharedfolder add $NAME --name u --hostpath 'u:\' --automount 2>/dev/null || :
docker-machine start $NAME
docker-machine env $NAME
docker-machine ssh $NAME 'echo "mkdir -p $MOUNT" | sudo tee $SCRIPT'
docker-machine ssh $NAME 'echo "mount -t vboxsf -o rw,user $SHARE $MOUNT" |  sudo tee -a $SCRIPT'
docker-machine ssh $NAME '$SCRIPT'
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.