Artem
просто так же пишешь под build: ./ image: imagename:tag
Viktor
Благодарю
Viktor
неет
Viktor
Я планирую сделать совй image из докерфайла, с именем, например docker-name:latest
Pyotr
Всем привет Кто то использовал multi-stage docker build c multi module gradle build В Dockerfile нельзя скопировать файлы выше уровнем, а модули разбиты по папкам В результате в контейнер нельзя скопировать зависимости и соответственно собрать кусок проекта Кто то сталкивался с этим, можете что ни будь посоветовать?
🦠
У амазона прайм дей, купил 15 месяцев плюсовой подписки на 15 евро дешевле годовой)
🦠
Жалко что только немецкие акки
🦠
Докер на openbsd летает)
Салтыдык
Докер на openbsd летает)
только линух, только хардкор
Den
Всем привет) Подскажите, пожалуйста, в таком вопросе: на данный момент имеется 3 контейнера, каждый контейнер имеется свой поддомен dev1.site.com, dev2, dev3. dev1 висит на 80 порту, остальные 2 пусть будет 444 и 445. На сервере(упустим почему такое извращение) доступен во вне только один порт - 80-ый, но при этом нужно поднять 3 веб приложения. Для этого собираюсь использовать 4-ый контейнер с haproxy. Вопрос заключается в том как связать haproxy с другими контейнерами? Сам haproxy запускается тоже на 80 порту, который занят, что логично. Мне необходимо поднять всё 3 контейнера с веб приложениями на, допустим, портах localhost: 443, 444, 445 и связать их с haproxy?
Den
Или делается по другому?)
Den
Линкуй контейнер haproxy с другими и этот 80-ый порт haproxy выкидывай наружу
Т.е. без проброса портов? А если нужен локальный доступ к каждому из контейнеров?
Den
Не совсем понимаю как в таком случаи настроить haproxy? Т.е. как сказать, что dev1.site.ru это контейнер один? Линковка это не указывает...
Dsemenov
Локально можешь подключиться на прямую по ip контейнера или если очень надо можешь и порты этих контейнеров опубликовать
🦠
Имена контейнеров должны быть упомянуты в конфиге haproxy
Den
Ты можешь с nginx делать прокси редирект на нужный порт по совпадению в пути, но ему нужно слушать 80 порт
Спасибо за предложение, но думаю haproxy более подходящий вариант для данной задачи
🦠
Укажи три бекенда
🦠
Далее настрой правила по хосту
Den
https://hub.docker.com/_/haproxy/ Нужно создать конфиг, после сбилдить образ, и запустить haproxy прилинковав все необходимые контейнеры? Получается так?
Den
Укажи три бекенда
Таким образом? Только знакомлюсь с ha proxy backend servers server docker_container_1 127.0.0.1:8000 maxconn 32 backend servers server docker_container_2 127.0.0.1:8000 maxconn 32 backend servers server docker_container_3 127.0.0.1:8000 maxconn 32
🦠
ну и рулы пропиши
🦠
тебе же надо чтобы оно по адресу еще резолвило нужный хост
🦠
frontend lb bind *:80 mode http acl is_back1 hdr_end(host) -i dev1.site.com acl is_back2 hdr_end(host) -i dev2.site.com acl is_back2 hdr_end(host) -i dev3.site.com default_backend back1 use_backend back1 if is_back1 use_backend back2 if is_back2 use_backend back3 if is_back3 backend back1 balance roundrobin option httpclose option forwardfor server s1 back1:443 maxconn 32
🦠
все остальные бэки по аналогии
Den
все остальные бэки по аналогии
Спасибо, большое) Немного опередили: frontend http acl host_sub1 hdr(host) -i dev1.mydomain.com acl host_sub2 hdr(host) -i dev2.mydomain.com use_backend host_sub1 if app1 use_backend host_sub2 if app2 backend app1 server docker_container_1 127.0.0.1:8000 maxconn 32 backend app2 server docker_container_2 127.0.0.1:8000 maxconn 32 backend app3 server docker_container_3 127.0.0.1:8000 maxconn 32
🦠
у вас кстати не будет 127.0.0.1
🦠
лучше указать имена сервисов из docker-compose
Den
лучше указать имена сервисов из docker-compose
backend app3 server docker_container_3 docker_container_3:443 maxconn 32
🦠
у меня прописано back1: image: php:7-1-fpm-alpine
Den
у меня прописано back1: image: php:7-1-fpm-alpine
Т. Е как это будет выглядеть в конфиги? Не совсем понимаю...
Den
у меня прописано back1: image: php:7-1-fpm-alpine
А, понял в docker-compose: service: app1: image: gitlab:latest В haproxy: backend app1 server docker_container_1 app1:443 maxconn 32 Верно?
Pyotr
спасибо
Artem
Народ, можете подсказать литературу по DevOps? Желательно с практическим подходом. На днях закончил читать Руководство по DevOps. Проект Феникс, очень впечатлила книга, но мне показалось, что там мало именно практической части
Artem
В целом, с каких книг стоило бы начать осваивать профессию DevOps инженера?
Konstantin
Site Reliability Engineering: How Google Runs Production Systems
Gleb
+1
JBáruch
что значит "вышел с конфы"?
JBáruch
полезный, не?
JBáruch
это не объясниение, что такое "вышел с конфы" :)
JBáruch
нет, я тут :)
JBáruch
ему с 900 мемберов тяжко
Bogdan (SirEdvin)
Эм, докер заблокировал Украину?) Не могу зайти на https://download.docker.com/linux/ubuntu/gpg, пишет что доступ запрещен для моей страны.
Старый
а вообще странно
Старый
если бы заблочил рф я бы понял
Старый
но украину зачем
Старый
месяца 2 уже
Старый
а не, 5
Timur
Всем привет. Кто-нибудь использует контейнер с Jetty? Мне стали нужны подробные логи приложения Само приложение сделано в варнике (.war) Конфигурационный файл log4j запакован в этот варник. Как можно было бы изменить конфигурацию логгера, не делая ребилд. Я тестировщик, я только учусь, не бейте сильно.
Eugene
docker-compose run —rm db Что означает вот это вот —rm ?._
Eugene
--rm Remove container after run. Ignored in detached mode. а, все. нагуглил. хм.
Aleksandr
docker-compose run —help
Aleksandr
--rm Remove container after run. Ignored in detached mode.
Timur
"docker logs" не выводит нужного?
Выводит, но не полно. Сейчас там стоит стандартный уровень логирования - по-моему WARN. А мне нужен DEBUG.
Aleksandr
ну тады подсунь ему свой конф файл
Aleksandr
-v путь\до\твоего\конфига:путь\до\конфига\в\контейнере
Aleksandr
я в jetty не умею и во все такое, так что просто предполагаю
Timur
Угу. Вот только файл в .war- архиве. Архив в утке. Утка в яйце. Яйцо в контейнере. Менять содержимое контейнера = создавать неконсистентное продуктивному состояние системы, что в тестировщицкой системе координат почти грех. Но я на него уже почти согласен, потому что другого ничего не остается. Может таки есть кошерный и халяльный путь, которого я не знаю, но знает сообщество.
Timur
А что делать, если приложение на яве написано, дадено в качестве контейнера, и сказано - тестируй?
Artem
для тестов не нужно менять содержимое контейнера
Artem
вам же дали, вот и тестируйте
Artem
остальное дело разрабов
Timur
Проблема в том что я не знаю, как правильно изменить уровень логирования, не сломав при этом выданное мне тестовое окружение. Разработчика спросил, но он пока не ответил, и поэтому, после гугления, я подумал что может кто-то из сообщества сталкивался и может помочь.
Artem
менять уровень логирования самого приложения должен разраб и докер тут вообще не при делах
Timur
остальное дело разрабов
А если нужно изменить уровень логирования который я получаю при выводе docker logs?
Artem
докер выводит все, что высирает апликуха
Aleksandr
docker logs выводит то, что в контейнере валится
Timur
Что, простите, разжевали?
Timur
А как, по-вашему, надо было?)
Timur
По факту, сейчас приложение упало. На выходе я получил, врнее, не получил в стандартном выводе команды logs вообщен ничего. У разработчика, что характерно, такой ошибки не воспроизводится. Попытка разобратьсяи привела к первоначальному вопросу.
Artem
такого не может быть
Artem
чтобы контейнер упал, а в логс ничего
Artem
😂
Artem
ну эт совсем упоротым надо быть)
Artem
кстати, он же не упадет тогда в принципе