powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Разработка в Docker
23 сообщений из 48, страница 2 из 2
Разработка в Docker
    #40111795
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
Hett , я как-то пробовал так же просто с PG работать из контейнера. В итоге плюнул, правда больше из-за того что Docker под Mac очень тормозит.

Если поднимать PG под докером то надо убедится что сегмент данных не лежит под докеровской overlay-fs.
Обычно подключают маппинг на локальный фолдер.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111797
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Stanislav Bashkyrtsev
Hett , я как-то пробовал так же просто с PG работать из контейнера. В итоге плюнул, правда больше из-за того что Docker под Mac очень тормозит.

Если поднимать PG под докером то надо убедится что сегмент данных не лежит под докеровской overlay-fs.
Обычно подключают маппинг на локальный фолдер.


Обычно да, чтобы при разрушении контейнеров сохранялись данные, но внутренняя ФС без маппинга точно работает быстрее.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111813
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Настрадал, в IDEA выглядит как-то так.
Думаю смысл понятен - запускаем контейнер с указанием сети, в которой работают контейнеры компоуза. При этом приложение видит всю сеть доскера, еще можно прописать хост и сервисы будут видеть приложение.

Для работы поднимаем инфраструктуру при помощи `docker-compose`, и если хотим работать с каким-то сервисом, то останавливаем этот сервис в докере и запускаем опять же в докере, но уже через IDE.

Из минусов только то, что спринг немного дольше запускается (15 секунд вместо 4).
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111821
Hett, выглядит это все намного медленней чем пересилить себя и переконфигурить сервисы :)
Hett
На счет моков - их тоже поддерживать надо, не разу не пробовал такое, но имхо там больше шансов, что локально всё ок, а в реальной среде - нет.
Да, поддерживать надо. Но окупаются они быстро, особенно если другие сервисы не меняются часто. Риск что они в какой-то момент будут не совпадать с реальными сервисами - тоже есть. Для этого нужно настроить "пирамидальное" тестирование - сначала проверяем наш функционал с замоканными сервисами, а на следующем шаге пайплайна проверяем интеграцию с настоящими сервисами (тут тестов намного меньше надо).
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111824
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
Hett, выглядит это все намного медленней чем пересилить себя и переконфигурить сервисы :)


Медленней в плане настройки или запусков приложения?
Настройки я думал как-то положить в репозитории, у нас все равно все IDEA пользуются. Только вот сейчас столкнулся с проблемой, IDEA умеет отдельно сохранять в каталоге .run конфигурацию запуска, но она не включает в себя Remote Target и не получается версионировать эти настройки.

В остальном все не плохо вроде. В теории можно создать конфиги спринга под разные среды (dev-local, dev-docker) и выбирать наиболее удобную в определенный момент.

Короче разобраться бы как настройки эти заверсионировать.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111830
Hett
Stanislav Bashkyrtsev
Hett, выглядит это все намного медленней чем пересилить себя и переконфигурить сервисы :)


Медленней в плане настройки или запусков приложения?
Запусков. Скорость настройки на самом деле не так важна - они не так часто меняются. А вот запускать приходится часто. 4 сек и 15 сек - это огромная разница.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111832
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
15 секунд ничего не решают для ентерпрайза.

CI pipelines cо всеми quality gates займет больше времени.

А для локальной отладки вам докер не нужен.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111877
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

А для локальной отладки вам докер не нужен.

ну приехали. тогда весь топик можно удалять
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111880
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha
mayton

А для локальной отладки вам докер не нужен.

ну приехали. тогда весь топик можно удалять

mayton, я так понимаю из 50 сервисов 49 мы берем в докере как черный ящик.
А один пилим в окружении ящика.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111882
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот поднял с утреца 49 сервисов и сиди себе. Только своё приложение пересобирай.
Зачем каждый раз их поднимать? Куда 15 секунд уходит?
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111891
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

+1
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111892
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Ну вот поднял с утреца 49 сервисов и сиди себе. Только своё приложение пересобирай.
Зачем каждый раз их поднимать? Куда 15 секунд уходит?


Проблема как раз в том, что нужно этим 49 сервисам пояснить, что одного из них теперь на хосте запускают. И хорошо если у них у всех компоуз в одном репозитории лежит, а не по 49 распихан.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111900
Hett
mayton
Ну вот поднял с утреца 49 сервисов и сиди себе. Только своё приложение пересобирай.
Зачем каждый раз их поднимать? Куда 15 секунд уходит?


Проблема как раз в том, что нужно этим 49 сервисам пояснить, что одного из них теперь на хосте запускают. И хорошо если у них у всех компоуз в одном репозитории лежит, а не по 49 распихан.
Вы ж у себя можете вообще один docker-compose на все сервисы завести. И определять там адреса переменными:
Код: java
1.
  - someservice.baseurl=${SOMESERVICE_BASEURL:-https://default.host.com}

И переопределив эту переменную во время запуска можно все сервисы запустить с новым значением.
maytonЗачем каждый раз их поднимать? Куда 15 секунд уходит?На запуск нашего приложения в контейнере вместо идеи.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111907
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,
дык это решает куба или как там ее на сленге?
Адресация это стандартная фича.
Не?
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111908
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
На запуск нашего приложения в контейнере вместо идеи.
какой смысл приложение-сервис запускать в контейнере во время разработки?
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111958
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тут немножко еще подразобрался, не 15 секунд уже, а 6 (ну это сам спринг грузится + пара секунд на запуск образа). Первый раз конфигурацию создал не для спринга, а просто Application. IDE какие-то оптимизации делает для запуска спрингового приложения (есть такая галочка и она вроде как даже работает).

А вот если использовать LiveReload, то рестарт случается за 2 секунды.
Удобство в том, что не нужно в ручную заниматься настройкой портов и перенастройкой других сервисов.
Конфигурацию для запуска можно один раз настроить и заверсионировать. Если другие разработчики захотят поработать в сервисе, то им нужно просто остановить соответствующее приложение в докере, и воспользоваться готовой конфигурацией для запуска.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111959
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Stanislav Bashkyrtsev
На запуск нашего приложения в контейнере вместо идеи.
какой смысл приложение-сервис запускать в контейнере во время разработки?


Возможно стоит перечитать топик сначала, уже ведь несколько раз написали.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111962
Hett
Я тут немножко еще подразобрался, не 15 секунд уже, а 6 (ну это сам спринг грузится + пара секунд на запуск образа). Первый раз конфигурацию создал не для спринга, а просто Application. IDE какие-то оптимизации делает для запуска спрингового приложения (есть такая галочка и она вроде как даже работает).
А что за галочка? Я всегда как Application конфигурю, может зря..
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111963
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett
Возможно стоит перечитать топик сначала, уже ведь несколько раз написали.
ты не умничай - ты пальцем покажи.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111997
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
Hett
Я тут немножко еще подразобрался, не 15 секунд уже, а 6 (ну это сам спринг грузится + пара секунд на запуск образа). Первый раз конфигурацию создал не для спринга, а просто Application. IDE какие-то оптимизации делает для запуска спрингового приложения (есть такая галочка и она вроде как даже работает).
А что за галочка? Я всегда как Application конфигурю, может зря..


Enable launch optimization.
Она не так уж много дает, но все равно быстрее, чем application запускается.
А LiveReload не используете? Я как-то раньше скептически к нему относился, помню он что-то иногда не полноценно обновлял код. Возможно что-то изменилось, это давно было.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40112004
Hett
А LiveReload не используете? Я как-то раньше скептически к нему относился, помню он что-то иногда не полноценно обновлял код. Возможно что-то изменилось, это давно было.
Тоже не доверял ему, но вижу что коллеги пользуются, то начинаю тоже периодически нажимать. Но сам я не то чтоб часто приложение запускал - я больше тестами логику проверяю.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40115961
JetBrains выпустила новую IDE Fleet , среди прочего:
Fleet is built from the ground up to cater to the needs of developers who don’t necessarily work with local projects. With its distributed architecture, Fleet doesn’t care if your project is local, in a container, or in another country thousands of miles away. By providing a virtualized file system, Fleet can work with local and remote projects equally well.

Fleet’s architecture is distributed, separated into frontend, backend, workspace server, and file system watcher. This permits Fleet itself to be run in a distributed way, allowing for scenarios where analysis and other operations can be run on a remote machine for instance.Что это значит на практике пока не знаю.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40115966
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DEL
...
Рейтинг: 0 / 0
23 сообщений из 48, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Разработка в Docker
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]