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 cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.