Size: a a a

Docker — русскоговорящее сообщество

2020 June 13

AG

Andrey Gumilev in Docker — русскоговорящее сообщество
Alex
Привет.
Может кто-то подскажет где почитать best practices как лучше собирать приложения внутри контейнера и выгружать их как артефакты?
Например, сбилдить golang приложение, а затем итоговый бинарник залить в хранилище.
Мне кажется, что монтировать каталог с хост системы как-то небеопасно (да и владельца/группу потом менять на файлы), а docker cp ... как-то костыльно выглядит
Не понимаю тебя...собирай , закидывай...собственно не понятно при чём тут докер
источник

AG

Andrey Gumilev in Docker — русскоговорящее сообщество
нет разницы
источник

ВС

Владислав Субботин... in Docker — русскоговорящее сообщество
uncleroot
коллеги, добрый день,
насколько технологически правильно - брать контейнер с jdk, напихивать в него свой код, и запускать этого кадаврика?
а то у нас легкая архитектурная война с разрабами
А почему вообще возникла необходимость класть кодовую базу в контейнер? Есть же volume
источник

A

Alex in Docker — русскоговорящее сообщество
Я не хочу на хост систему все зависимости ставить. Вот и думаю внутри контейнера собирать.
источник

u

uncleroot in Docker — русскоговорящее сообщество
Владислав Субботин
А почему вообще возникла необходимость класть кодовую базу в контейнер? Есть же volume
они что-то прочитали, и прониклись идеей что нужно объединять jdk и jar в один контейнер
а мы, инфра, пока не можем найти статьи или книжки, чтобы доказать что это плохая практика
источник

ВС

Владислав Субботин... in Docker — русскоговорящее сообщество
Ну я видел одну статью, в которой описывается нечто подобное, для ускорения сборки. Щас скину.
источник

ВС

Владислав Субботин... in Docker — русскоговорящее сообщество
https://habr.com/ru/company/itsumma/blog/501680/ - мб, они как раз что-то такое прочитали и хотят это затащить
источник

ВС

Владислав Субботин... in Docker — русскоговорящее сообщество
P.S. я бы у них самих попросил источник, который они прочли. Это самое простое.
источник

ВС

Владислав Субботин... in Docker — русскоговорящее сообщество
Бывает ведь и так, что человек неверно понимает прочитанное / не с первого раза.
источник

ВС

Владислав Субботин... in Docker — русскоговорящее сообщество
Надо поэтому понять, что вообще они хотят и зачем.
источник

A

Alex in Docker — русскоговорящее сообщество
Владислав Субботин
P.S. я бы у них самих попросил источник, который они прочли. Это самое простое.
Спасибо, пересмотрю.
источник

A

Alex in Docker — русскоговорящее сообщество
uncleroot
они что-то прочитали, и прониклись идеей что нужно объединять jdk и jar в один контейнер
а мы, инфра, пока не можем найти статьи или книжки, чтобы доказать что это плохая практика
В моем конкретном случае есть python приложение (flask, MySQL). Среди зависимостей - mysql lib, от которой куча пакетов ставить нужно.
Собственно, внутри контейнера делаю apt install ..., pip install ..., запуск тестов, а затем все это нужно залить в gcp appengine (standard).
Надеюсь более понятен контекст сейчас
источник

u

uncleroot in Docker — русскоговорящее сообщество
Владислав Субботин
Надо поэтому понять, что вообще они хотят и зачем.
хех, на вопрос "зачем" мы пока внятного ответа не получили
источник

ВС

Владислав Субботин... in Docker — русскоговорящее сообщество
Вот я и предлагаю вам совместно сесть и разобраться =) Но для этого вам тоже нужно ознакомиться с источником, который разработчики прочли.
источник

u

uncleroot in Docker — русскоговорящее сообщество
попробуем на очередной цикл разговоров пойти,
но в ситуации, когда обе стороны не могут привести *достаточно* авторитетные источники своего мнения, скорее всего ничего не изменится :(
источник

ВС

Владислав Субботин... in Docker — русскоговорящее сообщество
Тут подошёл бы принцип "критикуешь - предлагай". То есть, если одна сторона говорит, что иначе нельзя, а другая показывает, что таки иначе можно и работает, то первая сторона должна объяснить, почему такое решение не подходит. Всё просто.
источник

u

uncleroot in Docker — русскоговорящее сообщество
Alex
В моем конкретном случае есть python приложение (flask, MySQL). Среди зависимостей - mysql lib, от которой куча пакетов ставить нужно.
Собственно, внутри контейнера делаю apt install ..., pip install ..., запуск тестов, а затем все это нужно залить в gcp appengine (standard).
Надеюсь более понятен контекст сейчас
да, иллюстрация похожа, но мы думаем, что для server-side java этот подход не совсем корректный
источник

u

uncleroot in Docker — русскоговорящее сообщество
Владислав Субботин
Тут подошёл бы принцип "критикуешь - предлагай". То есть, если одна сторона говорит, что иначе нельзя, а другая показывает, что таки иначе можно и работает, то первая сторона должна объяснить, почему такое решение не подходит. Всё просто.
ну вот я честно и пришел спрашивать ссылки/статьи как оно архитектурно правильнее
источник

ВС

Владислав Субботин... in Docker — русскоговорящее сообщество
Я не думаю, что есть чётко определённое правильное решение, потому что всё зависит от контекста. Но даже если Вы хотите разделить это добро на два контейнера - я не вижу проблемы: делаете образ с Java, делаете второй образ, который FROM <ваш_java_образ> и всё.
источник

ВС

Владислав Субботин... in Docker — русскоговорящее сообщество
И таким образом все останутся довольны: разработчики получают код в контейнере, девопсы - не смешивают основной образ и код.
источник