@wiyod

Как разрабатывать приложения используя Docker?

Ок, я вижу плюсы Докера при развертывании приложений. А как это внедрять в разработку?

ВОт я на локальной машине не хочу иметь 100500 зависимостей, поэтому использую Докер. Запустил приложение, оно работает. Но если я вношу какие-то изменения в исходный код - докер этого не видит. И перезапуск контейнера не помогает, нужно пересобирать весь образ.

ВОзникает вопрос - что тогда делать с докером на стадии development?

В идеале - запускать все в контейнерах - МОнгу, Ноду, Редис и тд, разрабатывать приложение таким образом.
  • Вопрос задан
  • 457 просмотров
Пригласить эксперта
Ответы на вопрос 3
@RidgeA
Но если я вношу какие-то изменения в исходный код - докер этого не видит. И перезапуск контейнера не помогает, нужно пересобирать весь образ.


А как файлы в докер попадают ? Если пробрасывать папку (volumes), то быть проблем не должно (там какие-то ньюансы с виндой могут быть, но это не точно).
Если же COPY/ADD - то да, надо пересобирать контейнер.
Ответ написан
Xuxicheta
@Xuxicheta
инженер
Монтируешь папку с твоими скриптами на хосте внутрь контейнера.
npm install делаешь тоже на хосте (хотя можешь конечно сделать аттач внутрь контейнера и запустить руками там). Нода в контейнере работает просто вместо ноды на хосте.
Для отдачи статики, я держу в докере еще нжинкс, который может проксировать запросы на запущенный вебпак-дев-сервер (если он используется в разработке).
Монгу, редис - как угодно. Для разработки удобно держать в своих контейнерах рядышком, запускать все сразу докер-компоузом.
Ответ написан
Вообще странный вопрос.
Во время изменения кода docker не нужен.
Т.е. вы пишите как обычно.
А вот для развертывания для тестирования - да.
Создаете новый контейнер с вашим приложением.
Его тестируют, если есть ошибки, то цикл повторяется.
По хорошему вас это не должно особо касаться.
Т.е. ваша задача создать docker-файл, по которому будет собираться docker-контейнер с вашим приложением.
А системы CI/CD сами должны разворачивать на тесте и далее.
В разработке docker-контейнеры нужны только для сторонних сервисов.
Т.е. вы у себя на машине их поднимаете и работаете с ними.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы