Dan
Ты из контейнера с, прости господи, фронтом можешь напрямую обращаться к контейнеру с бэком.
Dan
Тебе даже не нужно бэк для этого открытым для всего мира держать
Dan
Достаточно только для внутренней сети
Артём
"на бэк" наверное имелось ввиду
Dan
Туда даже проксировать ничего не надо
Mark
По /... хостится статика фронта по /api... проксирует на контейнер бека
Dan
Dan
Не скажу что это правильно, но похрен, если работает
Mark
Да я хочу бест практис узнать и понять почему так неправильно если неправильно )
Dan
Я api выносил всегда отдельным контейнером с поддоменом api.blablabla
Dan
Если мне надо было публичным его делать
Mark
Наконец мы поняли что обсуждаем тепень надо понять почему это неправильно )
Артём
а, ну по факту да
Артём
Достаточно только для внутренней сети
Артём
Туда даже проксировать ничего не надо
Dan
А если не надо публичным — то я даже и поддомен не делаю
Dan
У меня просто крутится какой-нибудь процесс, который принимает запросы "снаружи" и отдаёт. Но работает только для 172 подсети
Dan
(например)
Dan
Реверс нужен тогда, когда у тебя публично торчат наружу уши разных доменов и поддоменов. Тебе надо проксировать много — ставишь прокси отдельно и радуешься.
Mark
Roman
Nginx проксирует на контейнера
Dan
Ну всё по красоте, в чём проблема?
Roman
Anonymous
А что на фронте?
Anonymous
а есть готовые образы докер с sentry или graylog какой нибудь бесплатный сервис для логирования
Dan
Roman
Я думаю пришла пора тебе показать уже свои файлы конфигов :)
events {
worker_connections 1024;
}
http {
server {
listen 80;
resolver 127.0.0.11;
location /web {
set $upstream http://yugokraft_web:3000;
proxy_pass $upstream;
proxy_set_header X-Forwarded-For $remote_addr;
location / {
set $upstream http://yugokraft_admin:2000;
proxy_pass $upstream;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
}
Dan
А в блоке location /web так и должно быть, чтобы фигурная скобка открывалась, но потом никогда не закрывалась?
Dan
Ну и чтобы код читался лучше, я бы его оформил с отступами всё-таки. Это ни на что не влияет, но намного приятнее хуманскому глазу
Dan
events {
worker_connections 1024;
}
http {
server {
listen 80;
resolver 127.0.0.11;
location /web {
set $upstream http://yugokraft_web:3000;
proxy_pass $upstream;
proxy_set_header X-Forwarded-For $remote_addr;
}
location / {
set $upstream http://yugokraft_admin:2000;
proxy_pass $upstream;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
}
Dan
Хотя бы так
Дмитрий
Всем привет. В докерстве новичок. Нужно сэмулирвать работу сети для тестирования. Чтобы получилась шара типа //server03/share_folder/ . Подскажите плиз куда копать
Anonymous
Дмитрий
Я тоже новичок но по-моему как то через volumes
это понятно. Мы пробросим папку внутрь докера. Но как потом 1. дать имя хосту (server03) И 2. расшарить папку внутри контейнера, чтоб хост мог обратиться к ней по сети как //server03/share_folder/
NM
Pavel
Вечер добрый. Каждый раз при изменении кода надо перезапускать сборку контейнера командой docker build. После неё в списке образов остаются старые. Можно ли как-то пересобрать именно эти образы, или есть ли флаг, которые позволяет удалить старые с таким же именем?
Anonymous
Sebor▂▅▇█▓▒░
Pavel
Не, у старых вместо имени появляется <none>
Pavel
<none> <none> d7122920fb83 15 minutes ago 371MB
Pavel
А как долго они висят?
Pavel
И перед запуском надо каждый раз останавливать предыдущий контейнер?
Anonymous
Anonymous
А то у меня в автодеплое Docker pull, может там память кончится так
Pavel
И что, они так и будут висеть?
Sebor▂▅▇█▓▒░
Semyon
Ребят, можно ли зайти в docker image? не контейнер
Max xbim 🌴
можно выгрузить содержимое image просто на диск
Dauren
Приветствую всех! Кому-нибудь приходилось настраивать self-hosted Private Docker Registry with Token Authorization?
Егор
Привет. Корректно ли в докере, вместе с сервисом пихать asgi server? Например, nginx. Логика подсказывает, что некорректно, поскольку докер исповедует подход: один контейнер — один сервис (здесь же nginx+app).
С другой стороны, оказывается, что возможности докера мы используем не до конца, поскольку там есть только лишь 1 процесс, а не k процессов, как могло бы быть.
Продолжая рассуждение, возникает ещё один мысль. Как правило, app используются в рамках орекстраторов. Они распределяют ресурсы между app. Имеет ли смысл заморачиваться со следующим: один процесс внутри контейнера или их там несколько?
Andrey
Привет. Корректно ли в докере, вместе с сервисом пихать asgi server? Например, nginx. Логика подсказывает, что некорректно, поскольку докер исповедует подход: один контейнер — один сервис (здесь же nginx+app).
С другой стороны, оказывается, что возможности докера мы используем не до конца, поскольку там есть только лишь 1 процесс, а не k процессов, как могло бы быть.
Продолжая рассуждение, возникает ещё один мысль. Как правило, app используются в рамках орекстраторов. Они распределяют ресурсы между app. Имеет ли смысл заморачиваться со следующим: один процесс внутри контейнера или их там несколько?
Нет
.
Ребят, need help : ) скачал докер, запустил в qnap containder station, а докер висит на 8080 порту. Как можно поменять порт в qnap может кто в курсах?))
.
кажется, разобрался, если кому понадобится обращайтесь))
Andrey
Привет. Корректно ли в докере, вместе с сервисом пихать asgi server? Например, nginx. Логика подсказывает, что некорректно, поскольку докер исповедует подход: один контейнер — один сервис (здесь же nginx+app).
С другой стороны, оказывается, что возможности докера мы используем не до конца, поскольку там есть только лишь 1 процесс, а не k процессов, как могло бы быть.
Продолжая рассуждение, возникает ещё один мысль. Как правило, app используются в рамках орекстраторов. Они распределяют ресурсы между app. Имеет ли смысл заморачиваться со следующим: один процесс внутри контейнера или их там несколько?
Вообще как-то "сюрр". Я не понимаю - откуда контейнер=1 процесс. Скорее 1 контейнер = 1 сервис. Если у тебя сервис = много процессов - что не так. Просто считается удобней, что 1 контейнер=1 сервис. И твое app в одном контейнере а nginx в линкованном в другом.
Andrey
Однако, если тебе удобней, ну сделай образ с nginx и твоим приложением и стартуй его. Или вообще nginx в образе смотрим в директорию, которая монтируется при ране контейнера и откуда прдтягивается твое приложение. Короче - хоть как. Лишь бы логично и удобно.
NM
Привет. Корректно ли в докере, вместе с сервисом пихать asgi server? Например, nginx. Логика подсказывает, что некорректно, поскольку докер исповедует подход: один контейнер — один сервис (здесь же nginx+app).
С другой стороны, оказывается, что возможности докера мы используем не до конца, поскольку там есть только лишь 1 процесс, а не k процессов, как могло бы быть.
Продолжая рассуждение, возникает ещё один мысль. Как правило, app используются в рамках орекстраторов. Они распределяют ресурсы между app. Имеет ли смысл заморачиваться со следующим: один процесс внутри контейнера или их там несколько?
Почитай про C groups и все встанет на свои места почему лучше 1 докер =✓1 приложение
NM
Serhii
Пытаюсь настроить субдомены в traefik v2. Проблемы с портами возникли, если контейнеры с разными портами то traefik их также и мапит и получается хрень вроде whoami.localhost:5001. Может подскажет кто как настроить докер чтобы получилось whoami.localhost -> 5001
Mark
как можно сделать так чтобы при docker-compose up если image доступен (т.е ты авторизован) то используется image, если не авторизован то делается build?
Mark
services:
backend:
image: cashforcdryptoregistries.azurecr.io/calienteamcacocryptoexchangepage:backend-latest
build:
context: ./backend
dockerfile: Dockerfile
restart: always
ports:
- '5000:80'
Mark
то есть к примеру вот такой вот у меня docker-compose
Mark
я хочу чтобы image использовался в случае если я имею доступ к нему, но если нет то билд произойдет
A
Думаю нужно делать docker login, в зависимости от ответа выполнять или не выполнять build
Mark
а куда этот docker login поместить?
Mark
т.е это надо какой-то скрипт писать?
Mark
сделаю короче просто две версии докер компоуза, один для сервера второй для локального использования
Dan
🔥Узнайте и вы больше об инфраструктуре на продвинутом онлайн-курсе «DevOps практики и инструменты» от OTUS и инженеров Express42: https://otus.pw/Fh5W/
— Чему научат? Инструментам и конкретным приемам для реализации следующих практик: Infrastructure as Code(IaC), CI/CD, непрерывный сбор метрик (мониторинг и логирование) и др.
📌Хотите протестировать учебный процесс заранее? Сделайте это на бесплатном пробном уроке «От кода до Kubernetes за 1,5 часа»: https://otus.pw/LaUM/
— Совершите увлекательное путешествие от кусочка кода на Python до приложения на Kubernetes через Linux-систему, vagrant и Ansible, через Docker-контейнер и k1s. В итоге получите ваше приложение, запущенное в кластере Kubernetes и достаточно отказоустойчивое.
Поделится своей экспертизой преподаватель-практик Лев Николаев (инженер и тренер в Express 42). Регистрируйтесь сейчас — напомним в день вебинара!
Alex
Подскажите плиз про конфиги
https://docs.docker.com/compose/compose-file/#configs
Как я понял из ссылок это надо для сварма?