Я использую vmware workstation для своих разработок и должен поддерживать различные виртуальные машины для разных сред.
Docker, похоже, позволяет запускать различные окружения в контейнерах, поэтому
Могу ли я запустить docker и использовать различные образы и контейнеры для разработки, сборки и тестирования кода внутри моей ВМ Windows 10 x64? (Помните, что я запускаю свою среду разработки в VMware Workstation, а docker использует VirtualBox).
Как мне отправить/взять это мое приложение (код+база данных+web api+ .....) в производство? Нужно ли на производственной машине запускать docker?
Пожалуйста, помогите разъяснить.
Обновление
Под VMWare я подразумеваю VMWare workstation pro.
Да, вполне возможно запустить Docker в виртуальной машине. Docker - это легкое решение для виртуализации, он не виртуализирует аппаратное обеспечение, поэтому вы не столкнетесь с проблемами, характерными для вложенных виртуальных машин.
Однако связывание портов может быть немного сложным, потому что вам придется каким-то образом соединить вашу виртуальную машину dev-env в VMware с виртуальной машиной Docker в VirtualBox.
Вы также можете столкнуться с проблемами, если захотите открыть папки хоста для службы в контейнере Docker. Файловые системы Windows ограничены по сравнению с Linux в плане гранулярности разрешений, и некоторым сервисам это не нравится. (эта проблема не является специфичной для Docker)
В целом, ваше приложение не привязано к Docker в продакшене. Dockerized сервисы общаются с миром через сеть, ничем не отличаясь от того, что обычно делают обычные сервисы. Однако приложение, разработанное с учетом Docker (или, в более общем смысле, облака), может быть более устойчивым к сбоям и более простым в обслуживании.
В этом блоге рассказывается о том, как использовать 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
Создайте vm по умолчанию
docker-machine --native-ssh create -d vmwareworkstation default
Установите переменные окружения
docker-machine env | iex
Теперь вы готовы приступить к работе.
docker save
для сохранения образов docker в файлы.