powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Разработка в Docker
48 сообщений из 48, показаны все 2 страниц
Разработка в Docker
    #40111400
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот встал вопрос.
Всегда запускал проект на хосте и обходился отдельным профилем для локального запуска (нежели на проде). Например вместо posgres - h2 и т.п.
При этом на PHP давно уже имею практику разработки в контейнере докера (туда пробрасывается код IDE и все без проблем работает, ну там проще - язык скриптовый). Решил эту практику попробовать на Kotlin + Spring Boot и всё оказалось не так-то просто.

Есть некоторые манулы в интернете по настройке работы IDEA с окружением внутри контейнера докера, но ничего из этого нормально не работает. Один из вариантов это просто включение удаленной отладки в JVM в контейнере, ну такое себе на самом деле. Каждый раз пересобирать контейнер не удобно, да и IDE не трекает его состояние, надо в отдельное меню лазить.

Стало интересно, на сколько вообще распространенная практика. Например хочу чтобы проект работал с настоящей PG, разворачивать на хосте?
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111411
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett
Стало интересно, на сколько вообще распространенная практика. Например хочу чтобы проект работал с настоящей PG, разворачивать на хосте?
Не понял, а что мешает запускать службы в докере, а IDE и код на рабочей машине? IDE и обвесу находиться внутри ОДНОГО образа вовсе не обязательно
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111424
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,
В чем разница прода? Если постгри, то сейчас вполне можно его ставить везде где надо и не надо.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111440
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha
Hett
Стало интересно, на сколько вообще распространенная практика. Например хочу чтобы проект работал с настоящей PG, разворачивать на хосте?
Не понял, а что мешает запускать службы в докере, а IDE и код на рабочей машине? IDE и обвесу находиться внутри ОДНОГО образа вовсе не обязательно


Можно. Но нужно тогда заморачиваться ручной настройкой сети. Хост не видит контейнеры по именам да и доступа к ним не имеет если порты не пробрасывать.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111444
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Hett,
В чем разница прода? Если постгри, то сейчас вполне можно его ставить везде где надо и не надо.


Не удобно, особенно в случае микросервисной архитектуры. Все разработчики должны развернуть пачку сервисов, это может занять не один день, особенно если в них не ориентироваться. В этом плане контейнеризация удобнее. И если понадобилось работать над каким-то сервисом, то удобнее это делать в докере, чтобы меньше заниматься перенастройками всего окружения.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111452
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,
Если микросервисы то есть менеджеры для работы с ними. Причем пачками.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111453
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
5ый топик с проблемами микросервисов...
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111470
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Hett,
Если микросервисы то есть менеджеры для работы с ними. Причем пачками.


Что за менеджеры?
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111476
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,
Ох, это объемная тема.
Kubernetes...
https://habr.com/ru/post/544714/
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111498
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett

Есть некоторые манулы в интернете по настройке работы IDEA с окружением внутри контейнера докера, но ничего из этого нормально не работает. Один из вариантов это просто включение удаленной отладки в JVM в контейнере, ну такое себе на самом деле. Каждый раз пересобирать контейнер не удобно, да и IDE не трекает его состояние, надо в отдельное меню лазить.

Докер для разработки ничего толком не дает. Тоесть разработчику должно быть глубоко наплевать на
докерность или не-докерность системы. Он ведь учился на разработку Java/JVM. И собеседовали его по
этому-же профилю. Поэтому и отладку можно делать локально.

Нет коечно могут спрашивать про техники виртуализации но КМК это ближе к собесу на девопса.
Тоесть это такие себе вопросы... из серии "неплохо было-бы знать" но не критично.

Ситуации когда нужно именно отладчиком прицепится на прод - это архи-критичные ситуации.
И часто это рассматрвиается как security-инцедент.

Во многих банках PROD например отделен от окружения Dev и по дизайну не предполагается вообще
никакого доступа кроме логов которые можно просто в режиме R/O просмотреть или заказать.

А если нужно поднимать Postgres+Application то можно попробовать docker-compose. И если уж не хватит
возможностей - то тогда посмотреть в Кубер и прочие штуки.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111512
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Hett,
Ох, это объемная тема.
Kubernetes...
https://habr.com/ru/post/544714/


Да знаю я про кубик. Как это на мой вопрос отвечает? В нем все те же образы крутятся. И сервис локатор внутреннюю сеть использует и все те же проблемы что с docker-compose при попытке вынести один сервис на хост-машину.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111522
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Ситуации когда нужно именно отладчиком прицепится на прод - это архи-критичные ситуации.
И часто это рассматрвиается как security-инцедент.

Согласен

По хорошему, стандарты Oracle требуют минимимум 3-х ОДИНАКОВЫХ конфигураций.

DEV - TEST - PROD.

И если DEV ище может отличаться по конфигурации железа/баз/софта отличаться от PROD, то TEST, по логике, должен быть точной копией один в один. Одинаковое железо, одинаковые базы и так далее.

На практике, часто на TEST кладут больший или меньший болт, из-за сложности и стоимости точно точно такойже конфигурации как и на PROD. В результате, в относительно редких случаях, кроме как на самом PROD проблему и не воспроизвести (например "особенности" работы NIO на много-много-ядерном сервере с NUMA)

Самому приходилось отлаживать на PROD и аж давали рутовые пароли. При этом подвисание машины и сотни тысячь (!) клиентов по всему миру тупо подвисли бы.

PROD находился на Лондонской биржы и для него была куплена подписка на данные с биржи (все настроено). Можно или нет было получать купленные данные с другого компа (полноценно запустить приложение/сервис) - то вообще никто не знал ))). Ну и проблема на другой конфигурации железа просто не воспроизводилась.

mayton

Во многих банках PROD например отделен от окружения Dev и по дизайну не предполагается вообще
никакого доступа кроме логов которые можно просто в режиме R/O просмотреть или заказать.

Тогда в контуре банка должен быть TEST один в один с PROD конфигурации.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111523
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблему ТС и понимаю и не понимаю одновременно

1. Чем доккер настолько сильно отличается от отдельной машины-сервера?
2. Понятно, что для удаленной отладки (как и для удаленного доступа к PostgreSQL и прочим сервисам) нужно пробрасывать порты
3. В связи с пунктом 2, не очень понятна, чем удаленная разработка/отладка в докере будет сильно проще нормальной "настройкой сети", что бы компьютеры разработчика имели доступ к сервисам из полноценного TEST окружения (базы и прочее).
4. Зачем пересобирать докер контейнер при деплое - так же не понятно. Деплой при DEV это все же в большей части просто файлы .class, .jar, .war. Зачем для компиляции деплоя пересобирать докер и чем Java принципиально отличается от PHP - мне не понятно
etc. etc...

В общем:

5. Нормально настраивать сеть (резолвинг имен, проброс портов) все равно придется и в том и в другом случае.
6. Нормально настраивать DEV - TEST - PROD окружения желательно все равно.

p.s. в сообщении выше, как раз отлаживался/профелировал в докере. Но докер или нет меня мало интересовало. Мне просто дали команды на вход в нужную машину-образ, каким образом подключаться к порту для удаленной отладки, куда выкладывать подправленный мною Jar'ник и как перезапускать нужный мне сервис. Все. Докер или нет, с точки зрения разработки/отладки/профилирования, в целом-то пофиг.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111646
Hett , я как-то пробовал так же просто с PG работать из контейнера. В итоге плюнул, правда больше из-за того что Docker под Mac очень тормозит. Но в общем и целом установить раз все это дело локально не сложно и работать так тоже проще.

По поводу огромного кол-ва микросервисов, я бы предложил такие решения:
1. Использовать моки. У меня к примеру в проекте около 10 интеграций, на все их написаны моки. И по сути все моки поднимаются как одно маленькое приложение. Все работает быстро и позволяет мне сконцентрироваться на своем проекте.
2. Плюс нужно какое-то окружение где задеплоены все сервисы и мы могли бы с локальных машин подключать их. В таком случае локально не надо будет разворачивать ничего кроме своего. Архитектура конечно должна поддерживать такое. Это все к тому же обсуждению pull vs push архитектуры - pull здесь сильно помогает.
3. И если все-таки понадобилось развернуть что-то локально - то что надо, то и разворачиваем. Т.е. к примеру используем N сервисов удаленных и 1 локальный.

Ну а если все-таки много сервисов нужно запустить (это должно быть редкостью), то да - тут Docker лучше всего подойдет. Но нам же разрабатывать прям в контейнере все равно не надо? Наш сервис на хосте может работать и общаться с теми кто в контейнерах. Т.е.:
HettМожно. Но нужно тогда заморачиваться ручной настройкой сети. Хост не видит контейнеры по именам да и доступа к ним не имеет если порты не пробрасывать.Да, это обязательно нужно сделать и это очень быстро оправдает себя.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111698
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev,

Вот в том же PHP проще код в контейнер прокинуть и вообще не заморачиваться с хостами и вообще настройкой какого-либо окружения. Причем как правило в докер-композ просто мапят текущий каталог с кодом внутрь контейнера и это удобно. Но там нет живущего постоянно приложения, поэтому нет проблемы сделать так.

Если мы выносим разработку из контейнера на хост, то сразу возникает проблема - а как другие контейнеры будут обращаться к этому сервису? А как сервис будет к контейнерам обращаться. Всё это настраиваемо, но придется делать индивидуально на каждой машине, ну... конечно можно все это сделать, но я думал есть способ по проще.

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

чет мне показалось что вы не совсем понимаете как оно работает... из контейнеров доступ к хосту есть по адресу host.docker.internal (хз что там в wsl2, но в docker desktop есть), хотите чтобы и в обратную сторону работало - ставьте linux, запускайте идею с nsenter.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111720
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
Hett,

чет мне показалось что вы не совсем понимаете как оно работает... из контейнеров доступ к хосту есть по адресу host.docker.internal (хз что там в wsl2, но в docker desktop есть), хотите чтобы и в обратную сторону работало - ставьте linux, запускайте идею с nsenter.


у господ mac.
А так у меня нормально так и не завелось с host.docker.internal (линукс). Проверил сейчас еще раз ничего не поменялось.

насколько я помню это host.docker.internal для винды и под мак, под линукс ничего еще нет.

по итогу сейчас все в наружу порты мапятся. (если больше одного проекта в работе то геморно). в каждый проект по docker-compose
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111722
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если с postgres ну еще частенько можно не выходя из IDE открыть терминальную сессию прям в IntelljIDeaa а там дальше по накатанной
psql -U -W
:)
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111725
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
насколько я помню это host.docker.internal для винды и под мак, под линукс ничего еще нет
так под линукс и не нужно ничего - там же из коробки сетевая связность между хостом и контейнерами
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111734
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
Hett,

чет мне показалось что вы не совсем понимаете как оно работает... из контейнеров доступ к хосту есть по адресу host.docker.internal (хз что там в wsl2, но в docker desktop есть), хотите чтобы и в обратную сторону работало - ставьте linux, запускайте идею с nsenter.



Если сервис локатора на уровне приложений нет, то это все равно гемор. Вот развернул с десяток серивисов и нам нужно на одном поработать. Для этого нужно всем остальным сервисам как-то сказать, что один сервис теперь имеет другой хост - `host.docker.internal`. Понятно, что это сведется к обновлению конфигов и перезапуску сервисов. А если два сервиса сразу дорабатываем, то еще и конфликт портов будет, но опять же все решаемо, я уже это все проходил. В моем идеальном мире IDE должна уметь запускать приложение в контейнере с сконфигурированной средой (кстати IDEA умеет, но пока не понял, умеет ли все, что я хочу или нет, пока не разобрался до конца)
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111741
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett
PetroNotC Sharp
Hett,
Ох, это объемная тема.
Kubernetes...
https://habr.com/ru/post/544714/


Да знаю я про кубик. Как это на мой вопрос отвечает? В нем все те же образы крутятся. И сервис локатор внутреннюю сеть использует и все те же проблемы что с docker-compose при попытке вынести один сервис на хост-машину.
хммм...
Kubernetes поддерживает DNS.
Значит в файле лежит перечень всех сервисов по их именам.
Значит у тебя что на проде, что на стенде дома будет автоматический поиск сервисов.
Не?
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111760
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Hett
пропущено...


Да знаю я про кубик. Как это на мой вопрос отвечает? В нем все те же образы крутятся. И сервис локатор внутреннюю сеть использует и все те же проблемы что с docker-compose при попытке вынести один сервис на хост-машину.
хммм...
Kubernetes поддерживает DNS.
Значит в файле лежит перечень всех сервисов по их именам.
Значит у тебя что на проде, что на стенде дома будет автоматический поиск сервисов.
Не?


В том то и дело, что будет, пока мы что-то из контейнеров на хост не выносим.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111765
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На текущий момент картина такая (и не факт что правильная):
- В проде все крутится в кубике, образы собираются отдельными Dockerfile, которые лежат в отдельном репозитории с чартами, триггерятся при обновлении мастера и деплоятся в куб в прод.
- Локально разработчики поднимают каждый сервис при помощи docker-compose и сопутствующего в репозитории сервиса Dockerfile_dev. Большинство разработчиков могут даже не разбираться в тонкостях конкретного сервиса, они просто делают `docker-compose up -d` и имеют работающий сервер со своей базой данных и прочими сопутствующими сервисами. Это могут быть фронтэндеры, которым нужна работающая инфраструктура для написания фронта. А могут быть и разработчики какого-то отдельного сервиса, над которым им нужно работать и тут то и начинаются "пляски с бубном".
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111767
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Больше проблем у тех, кто работает над отдельными сервисами, когда их выносишь на хост, вся инфраструктура ломается и надо лазить по сервисам и "переводить стрелки", что какой-то конкретный сервис больше не в инфраструктуре докера начинает работать, а на хосте.
...
Рейтинг: 0 / 0
Разработка в Docker
    #40111771
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,
Не очень понял.
Но на хост выносит разраб то, что он знает досконально. Остальное черный ящик.
Вот один сервис он и интегрирует (стрелки переводит).
Напиши пример.
...
Рейтинг: 0 / 0
Разработка в 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
48 сообщений из 48, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Разработка в Docker
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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