Konstantin
ещё и законтрибьютить)
Max
ещё и законтрибьютить)
не хочется тратить время на хаскель 😄
Max
хорошо, другой вопрос. Может ли docker-compose замапить имена сервисов в /etc/hosts автоматом?
Konstantin
У докера встроенный днс, не нужно ничего мапить
Max
я ща про хост говорю
Max
Один image позволяет запустить api и админку, которой можно указать адрес этого api. Если указывать адрес api в виде http://container1:8080, то этот контейнер сможет обращаться к первому, но браузере оно будет пытаться подключиться к container1:8080, а если указать localhost:8080, то второй контейнер не сможет соединиться с первым, за то в браузере все будет работать
Max
админке нельзя переопределить адрес api конкретно для браузера(
Max
В одном контейнере и api и админка?
в одном image, но запускать можно с разными аргументами
Max
точнее entrypoint's
Max
не хочется запускать в одном из-за того, что логи мешаются между собой
Maxim
в одном image, но запускать можно с разными аргументами
Получается один image и на его основе два сервиса, верно понимаю?
Maxim
да-да
Получается что один контейнер это админка, а второй это api и им нужно общаться между собой, верно?
Max
они могут общаться между собой, если --endpoint укажу http://container1:8080, но тогда в браузере запросы тоже будут идти на container1:8080
Maxim
они могут общаться между собой, если --endpoint укажу http://container1:8080, но тогда в браузере запросы тоже будут идти на container1:8080
Есть возможность кинуть скриншоты? А то не совсем понятно из сообщения суть проблемы
Max
Konstantin
смени endpoint на pchostname:9000
Max
смени endpoint на pchostname:9000
чтобы это у всех разразботчиков работало, нужно что-то типа $(hostname)?
Konstantin
не, не поможет
Maxim
Добавь link в hasura_console на hasura и исправь endpoint на hasura:9000 без указания http
Max
http там надо 100% указывать
Max
оно же без них умеет общаться по service name
Konstantin
а для чего link нужен?
он доки не читает, забей
Maxim
оно же без них умеет общаться по service name
Не добавляй link, тут специалист с документацией наперевес подсказывает что link это не правильное решение
Maxim
он доки не читает, забей
Кинь хотя бы ссылку чтоле, раз такой умный
Max
окей, с --endpoint хоста заработало, возник другой вопрос. Как в docker-compose.yml прокинуть HOSTNAME хоста?)
Max
советуют всякие HOST_HOSTNAME=$HOSTNAME docker-compose up
Ильдар
https://docs.docker.com/compose/environment-variables/
first
ребзя, а может кто подсказать npm для сборки проекта нужно в контейнер помещать или на хост машине лучше сделать?
Petrovich
нпм же с нодой идет
Konstantin
нпм же с нодой идет
вопрос другой был
Petrovich
тебе нужно ноду в контейнере иметь ,чтобы приложенька работала - следовательно нпм тоже будет
first
нпм же с нодой идет
ну это понятно, т.е. нужно сделать образ ноды + npm
Konstantin
в образ вендор? что?)
что тебе нужно?
Konstantin
бинарник npm?
first
бинарник npm?
у меня есть проект. В нем используется связка php + nginx + mysql Как поднять эти три контейнера я знаю. Вопрос встает в сборке с зависимостями. Есть composer и npm, которые используются. Я не знаю куда их впихнуть, чтобы собрать проект. 1. На хост машине можно, НО это требует доп. установки пакетов при развертывания 2. Создать отдельные 2 контейнера под каждый сервис Считаю, что нужно делать 2 вариант
first
P.S. Только начал изучать докер, поэтому не ругайтесь сильно :)
Konstantin
то что генерит compose\npm\maven\etc - vendors
Konstantin
в Dockerfile это надо тянуть и в образе держать
first
а если добавят что-нибудь, придется пересобирать образ?
Konstantin
да
Konstantin
а если добавят что-нибудь, придется пересобирать образ?
https://medium.com/devschacht/praveen-durairaj-an-exhaustive-guide-to-writing-dockerfiles-for-node-js-web-apps-7b033bcc0b4f
Konstantin
даже на русском)
Konstantin
first
спасиб, но его уже прочитал ахах)
Konstantin
к чему тогда вопросы?
Andrey
Все как в той статье выше.
Konstantin
Есть отдельно образы композера и npm, ими собираешь и кладешь уже в нужный тебе оьраз
ну тут мультистейдж особо ничего не изменит, можно и по классике
Andrey
а если добавят что-нибудь, придется пересобирать образ?
Образ пересобирать придется чуть ли не на каждый коммит. Так что это не то на чем стоит экономить.
Andrey
ну тут мультистейдж особо ничего не изменит, можно и по классике
Ну как, вендор и нодмодлс можно закешировать
Andrey
он и так кешируется же
Ну если просто в 1 stage то не кешируется.
Andrey
Хотя если отдельным слоем...
Konstantin
ну да
first
пля, слоооооожна, ладно спасибо всем большое, пойду копаться :)
Andrey
Ну тогда надо в образе иметь composer и npm. Такое себе удовольствие
Konstantin
Ну тогда надо в образе иметь composer и npm. Такое себе удовольствие
ну это уже оптимизация, он до неё ещё не дошёл
Andrey
ну это уже оптимизация, он до неё ещё не дошёл
Поможем парню не создать гигабайтный образ?
Konstantin
нет, для начала и гб образ норм
Konstantin
ну так будет понятно и наглядно, эдакий hello, world для докера
first
тут объясняется как поднимать приложение, используя nodemon и serve, вообще впервые слышу про это, ладно, что-нибудь придумаю
first
Я не читал её, глянул только dockerfile, вот так тебе и нужно по-сути собирать
запускает сервер ноды, мне это не нужно, у меня нжинкс же
first
в этом докерфайле*
first
ну да, мне впринципе это нужно, только сервак не запускать и все ахха)
Konstantin
Сложно же как