17

Я использую рабочую станцию vmware для своих нужд разработчиков и должен поддерживать разные виртуальные машины для разных сред.

Docker, похоже, позволяет запускать разные среды в контейнерах, поэтому

  1. Могу ли я запустить на своей виртуальной машине Windows 10 x64 докер и использовать разные образы и контейнеры для разработки, сборки и тестирования своего кода? (Помните, что я запускаю свою среду разработки в VMware Workstation, в то время как докер использует VirtualBox)

  2. Как отправить / доставить это мое приложение (код + база данных + веб-интерфейс + .....) в производство? Должна ли производственная машина хорошо работать с докером?

Пожалуйста, помогите уточнить.

Обновить

Под VMWare я имею в виду рабочую станцию VMWare pro.

4 ответа4

11

Да, вполне возможно запустить Docker на виртуальной машине. Docker - это легкое решение для виртуализации, оно не виртуализирует оборудование, поэтому на вас не будут влиять проблемы, типичные для вложенных виртуальных машин.

Связывание портов может быть немного сложным, потому что вам нужно каким-то образом подключить виртуальную машину dev-env в VMware к виртуальной машине Docker в VirtualBox.

Вы также можете столкнуться с проблемами, если хотите открыть папки хоста для службы в контейнере Docker. Файловые системы Windows ограничены по сравнению с Linux с точки зрения детализации разрешений, и некоторым сервисам это не нравится. (эта проблема не зависит от Docker)

В общем, ваше приложение не заблокировано для работы с Docker. Dockerized сервисы связываются с миром через сеть, ничем не отличается от того, что обычно делают обычные сервисы. Однако приложение, разработанное с учетом Docker (или, в более общем смысле, облачного хранилища), может быть более устойчивым к сбоям и более простым в обслуживании.

5

В этом блоге рассказывается, как именно использовать Docker в Windows с VMWare Workstation. Вы даже можете использовать Windows 7.

https://stefanscherer.github.io/yes-you-can-docker-on-windows-7/

Сначала установите менеджер пакетов Chocolatey для Windows (это однострочная команда)

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

затем установите Docker для использования рабочей станции VMWare

choco install -y docker  
choco install -y docker-machine  
choco install -y docker-machine-vmwareworkstation  

Создать виртуальную машину по умолчанию

docker-machine --native-ssh create -d vmwareworkstation default  

Установите переменные среды

docker-machine env | iex

Теперь вы готовы начать.

2
  1. Да, вы можете запустить Docker в Windows. Windows на VMWare также работает. Мы запускаем Docker на серверах Linux на VMWare.
  2. Самым разумным было бы иметь докер на своей рабочей машине, но можно было бы скопировать ваши данные из контейнеров. Я не рекомендую это все же.
    Вы можете использовать docker save для сохранения ваших изображений Docker в файлы.
    Я думаю, что стоит упомянуть, что не рекомендуется запускать несколько приложений в одном и том же контейнере и не рекомендуется хранить данные внутри ваших контейнеров, для этого следует использовать тома.
0

Между докерным хостом (Linux или Windows) есть большая разница:

  • Хост Linux не нуждается в каких-либо технологиях виртуализации. Поэтому на рабочую станцию Vmware вы можете установить стандартный Linux, затем механизм докера и без проблем запускать любые контейнеры.
  • У хоста Windows есть другое требование, потому что под капотом он создает виртуальную машину Hyper V Linux (подробности в https://rancher.com/the-similities-and-differences-between-windows-and-linux-containers/)

Итак, на док-хосте Windows на рабочей станции Vmware (на вашей физической Windows) у вас есть вложенная виртуальная машина HyperV Linux! Это не большая проблема, просто будьте осторожны, чтобы включить вложенную виртуализацию.

Франсуа

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