Правильно понимаю, что docker можно также спокойно использовать локально на windows?
Правильно.
Как вы локально разворачиваете докер ?
Под Mac или Windows cкачать
Docker Desktop.
Разворачивать проект – так же как заворачивали ) Скорее всего клонировать репку с файлом
docker-compose.yml
вашего проекта и
docker-compose up
А потом заходить внутрь контейнеров, или запускать дополнительные временные – со всякими
git clone
,
composer install
,
npm i
,
mysql -p${MYSQL_ROOT_PASSWORD} < database_init.sql
и пр.
При разворачивании проекта через docker, создается некая виртуализация.
Не совсем. Docker не виртуализация, а контейнеризация. Отсутствует виртуальная машина, в отличие от, например, VirtualBox. На бытовом уровне, есть некие изолированные виртуальные коробки-контейнеры, из которых наружу торчит, может, порт. И друг дружку эти коробки видят как компы в локальной сети.
Как тогда работать с проектом через IDE ? Если все окружение проекта на linux, а мы работаем на windows, как вообще люди работают через IDE в таких случаях ?
Как вариант, работать как с удалённым Linux сервером. Подключаться к нему по SSH, тот же
VS Code умеет через расширение
Remote-SSH.
Файлы копировать с компа в контейнеры (или наоброт) через
docker cp ./local.file containerName://var/www/remote.file
За «роскошь» локальной-обычной работы с файлами прямо на компе с любым IDE, какой предпочитает любой из разработчиков, придётся расплачиваться докручиванием конфигов, которые будут отличаться от продакшена. И тогда, наверное, пропадает весь кайф докеризации-для-разработки.
В целом я бы не рекомендовал докер для локальной разработки, хотя сам пользуюсь в некоторых проектах.