Подтвердить что ты не робот

Docker.io для Windows

Я читал хороший вопрос о докере - у ответа есть обзор подробностей реализации докеры. Мне было интересно, можно ли сделать что-нибудь подобное на платформе Windows.

  • Существуют ли альтернативы Windows для Docker?
  • Возможно ли теоретически использовать другие (основанные на Windows) компоненты для его создания?

Update1

Update2:

Информация о том, как установить docker на windows (несвязанные) - официальные документы содержит отличные инструкции по настройке среды с помощью загрузочной VM.

4b9b3361

Ответ 1

Вы можете запустить докер на виртуальной машине.


Новое обновление

Vagrant теперь интегрировал поддержку докеров. Он может использоваться как поставщик или как средство обеспечения. Вот несколько полезных ссылок.

Просмотр функций: среды разработки на уровне докеров

Vagrant Docs: Docker Provisioner

Vagrant Docs: поставщик докеров


Старое обновление

Как пояснил Seanf в комментарии ниже, поддержка Vagrant была отброшена. Вместо этого они указывают на boot2docker:

boot2docker - это легкий дистрибутив Linux, основанный на Tiny Core Linux специально предназначен для запуска контейнеров Docker. Он полностью работает из ОЗУ, весит ~ 24 МБ и загружается в ~ 5 с (YMMV).

Старый ответ

Официальная документация докеров содержит небольшой справочник по установке докера внутри коробки бродяг. Vagrant - отличная обертка управления vm. Руководство предназначено для Mac/Linux, но у вас есть идея сделать то же самое в Windows:

http://docs.docker.io/en/latest/installation/vagrant/

Таким образом вы можете делиться изображениями докеров с несколькими системами с разными операционными системами.

Ответ 2

Если вы просто ищете способ развертывания предварительно упакованного набора приложений в каком-то контейнере для Windows с возможностью виртуализации реестра и файлов, но без использования полномасштабного образа виртуальной машины, эти (коммерческие), похожие на песочницу, можно посмотреть на:

Изменить: Там новый парень на блоке, Ложка поддерживает контейнеры для Windows, и это выглядит очень многообещающе.

Ответ 3

Я обнаружил, что по крайней мере функциональность, связанная с файловой системой, уже имеет Windows (7,8). Можно использовать VHD файлы (виртуальные диски) для обработки концепции "изображений" в Docker. Эти изображения используются для виртуальной машины, но могут быть созданы/подключены/использованы непосредственно Windows:

diskpart
DISKPART> create vdisk file=c:\base-image.vhd maximum=200 type=expandable

Новое изображение может быть наложено поверх базового изображения:

DISKPART> create vdisk file=c:\image-2.vhd parent=c:\base-image.vhd

Подробнее о управлении виртуальными дисками.

К сожалению, процесс легкой изоляции/песочницы, вероятно, невозможен (по крайней мере, не простой), хотя существуют некоторые методы (http://www.sandboxie.com/, Собственный клиент в Google Chrome...)

Ответ 4

Microsoft работает самостоятельно Контейнер Hyper-V, который похож на Docker-Azure, также поддерживает инфраструктуру Docker.

В целом, трудно дать точные альтернативы, но на стороне Windows у нас уже довольно давно есть приложение App-V, которое виртуализирует приложения с песочницами, чтобы их можно было запускать или транслировать без фактической установки на определенный система. Я никогда не вмешивался в это, но, похоже, он мог работать как клиент standalone без какой-либо необходимой сложной серверной инфраструктуры для чего-либо Microsoft.

С другой стороны, формат образа диска, используемый Windows (VHD), поддерживает стандартное различие, поэтому вы можете легко запускать множество виртуальных машин из одного образа ОС только для чтения, где каждая виртуальная машина имеет маленькое изображение для записи различий. Тем не менее, это все еще полномасштабные виртуальные машины.

Ответ 5

В настоящее время я не знаю, как сделать то же самое в родных окнах на данный момент.

Я не думаю, что ядро ​​Windows было создано для такого рода вещей, поэтому для его поддержки Microsoft должна будет добавить возможности к ядру Windows. Если я ошибаюсь, кто-то, пожалуйста, поправьте меня.

Самый распространенный способ для людей сделать что-то вроде этого - использовать виртуальную машину в окнах, на которых работает ОС на базе Linux, и запускать все внутри этого. Вы также можете сделать то же самое, используя FreeBSD (Jails) и Solaris (зоны), если это больше ваша чашка чая. Но Docker в настоящее время не поддерживает FreeBSD или Solaris, поэтому вам нужно будет использовать собственные инструменты для них.

Ответ 7

Начиная с июня 2016 года, Docker может запускаться на виртуализации Microsoft Hyper-V на хостах Windows 10. Это теперь предпочтительный и "официальный" способ запуска Docker в Windows.

https://docs.docker.com/engine/installation/windows/

Hyper-V представляет собой Type-1-Hypervisor, то есть докер будет работать на одном уровне ближе к аппаратной части хоста и выполнять значительно быстрее, чем boot2docker (который использует VirtualBox, Type-2-Hypervisor, работающий внутри операционной системы хоста).

Преимущество производительности для докеров также имеет недостаток: включение Hyper-V предотвратит возможности аппаратной виртуализации для Type-2-Hypervisors, поэтому существующие изображения VirtualBox не могут использоваться с VTx, и вам может потребоваться переместить другие виртуализированные ОС к Hyper-V.

Хосты Windows 7-8.1 все еще могут использовать boot2docker для запуска контейнеров Docker, но основной фокус для Docker для Windows - это "новый" Hyper-V-Docker.

Ответ 8

Hyper-V работает только в Windows Pro. Установите его за 110 фунтов стерлингов.

Или просто установите Vagrant, установите VirtualBox, установите GIT bash, затем из вашего терминала GIT bash.

git clone [email protected]:danday74/vagrant-docker-skelly.git
cd vagrant-docker-skelly
vagrant up # takes approx 5 mins to create VM
vagrant ssh
docker -v
docker-compose -v

Vagrantfile показывает, что:

1 - это Xenial VM с докере и компоновкой, установленной на нем

2 - Порты, сопоставленные с Host на VM, - 9900-9920

3 - общая папка разделяется с хоста на VM

Откорректируйте это по желанию.

Ответ 9

Я устал сражаться с плагином-докер-плагином, поэтому решил, что смогу его подделать. Вот как это делается:

Использование boot2docker и следующего файла bat делает его похожим на то, что вы запускаете docker изначально. Поместите его на свой путь.

@set SSH="C:\Program Files (x86)\Git\bin\ssh.exe"
@set RUN_REMOTE='docker %*'
@ %SSH% -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -p 2022 -i %HOMEPATH%/.ssh/id_boot2docker -tt [email protected] %RUN_REMOTE%

ssh.exe происходит из пакета msys- git, который поставляется вместе с boot2docker. Я почти уверен, что в этом решении есть немало предостережений, но для меня это очень хорошо. Поместите этот файл на свой путь и bob yer дядя.