2

Я установил docker-machine и сразу попытался открыть папку для той виртуальной машины, которую она создает. Вот что я сделал;

# 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"

После этого я устанавливаю ssh по умолчанию в docker-machine и вижу, что все работает как положено.

Затем я пытаюсь перезапустить виртуальную машину, чтобы убедиться, что все выживет;

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

После этого я 'ssh по умолчанию docker-machine' и обнаружил, что он не выжил;

  • /apt-mirror не существует
  • Запись в /etc /fstab отсутствует

В сеансе ssh я могу выполнить это, чтобы вернуть монтирование;

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

Есть ли способ заставить исходные настройки пережить перезагрузку?

1 ответ1

0

Я нашел ответ, основанный на этом сообщении stackoverflow. Вот все шаги в виде bash-скрипта, который можно запустить в терминале 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'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .