Как развернуть файлы Dockerfile и приложения в boot2docker
Я только начинаю изучать Docker, и я пытаюсь получить простую настройку с boot2docker в Windows. Я не мог найти в любом учебнике или примерах онлайн, как сделать мои файлы проектов доступными для VM2 boot2docker.
Я загрузил boot2docker, и ему удалось установить его и запустить и запустить. Я также могу использовать ssh и запустить пример приветствия world docker, поэтому я знаю, что у меня есть рабочая установка Docker в VM.
Теперь вопрос. Как получить мои файлы Dockerfile
и мои приложения на VM-загрузке, чтобы я мог создать контейнер Docker?
Другими словами, я пытаюсь сделать это из VM2 boot2docker:
$ cd /some-directory-from-my-host-os
$ docker build .
Я пробовал следовать инструкциям https://github.com/boot2docker/boot2docker#folder-sharing и настроить общий ресурс SAMBA, и я могу успешно подключиться из Windows к общему ресурсу в \\192.168.59.103\data
, но это не означает, t скажите мне, как получить доступ к тому же самому каталогу из VM2 boot2docker.
Мне кажется, что ответ может быть очевиден, но я уверен, что я не единственный, кто ударит по этой стене. Спасибо за вашу помощь!
Обновление - теперь встроено в boot2docker 1.3!
Так как boot2docker 1.3, добавлена возможность монтирования общей папки, поэтому виртуальная машина может совместно использовать вашу папку dev. Дополнительная информация здесь: https://github.com/boot2docker/boot2docker#virtualbox-guest-additions
Ответы
Ответ 1
Не уверен, что это помогает под окнами. Но для Mac см.:
boot2docker вместе с дополнениями для VirtualBox
Как монтировать/Пользователи в boot2docker
https://medium.com/boot2docker-lightweight-linux-for-docker/boot2docker-together-with-virtualbox-guest-additions-da1e3ab2465c
tl; dr Создайте собственный пользовательский boot2docker.iso с помощью VirtualBox Guest Дополнения (см. ссылка) или загрузите http://static.dockerfiles.io/boot2docker-v1.0.1-virtualbox-guest-additions-v4.3.12.isoи сохраните его в ~/.boot2docker/boot2docker.iso.
Ответ 2
Следуя вашему текущему прогрессу и предполагая, что ваш контейнер samba запущен,
вы можете найти путь к папке /data на вашей Boot2docker VM, выполнив:
$ docker inspect <samba_container_id>
В этом списке перечислены детали конфигурации контейнеров.
Рядом с самым дном вы увидите:
"Тома": {
"/data": "/mnt/sda1/var/lib/docker/vfs/dir/<long_id_here>
Это ваш boot2docker vm/путь данных.
Просто cd в эту папку
$ cd /mnt/sda1/var/lib/docker/vfs/dir/<long_id_here>
В Проводнике Windows перейдите к:
\\192.168.59.103\data
Теперь вы можете вставлять/копировать/создавать некоторые файлы в эту папку данных, и вы должны увидеть, что они заполняются на вашей VM Boot2docker по пути: /mnt/sda1/var/lib/docker/vfs/dir/<long_folder_id_here>
Ответ 3
IMHO лучшим способом было бы использовать scp. Как вы можете ssh, вы можете использовать winscp для отправки файла Docker в виртуальную машину.
Ответ 4
ssh файл в вашу VM
dockerfile=$(cat LocalDockerfile)
boot2docker ssh "echo '$dockerfile' > Dockerfile"
написал здесь http://micahasmith.github.io/2014/11/07/copying-files-into-boot2docker/
Ответ 5
В Boot2Docker измените каталог "cd/c", вы увидите папки "Пользователи" в Windows. Поместите контент, который хотите поделиться, в предпочитаемых папках пользователей.
Ответ 6
Я использую бродягу с этим полем:
https://vagrantcloud.com/yungsang/boot2docker
и я изменил файл Vagrant для использования (auto-) rsync в Windows:
rsync_args = ["--verbose", "--archive", "--delete", "-z"]
rsync_auto = true
rsync_exclude = [".vagrant/"]
config.vm.synced_folder ".", "/vagrant", rsync__args: rsync_args, rsync__exclude: rsync_exclude, rsync__auto: rsync_auto, type: "rsync"