Nikolay
docker ps -a ?
Vadim
Nikolay
он как бы запускает nginx, но потом его выключает, показывает nginx exited with code 0
Попробуй depends_on: nodejs нжинксу прописать, хотя он и так второй запускается
George
depends_on: healthy и формат докер -компоуза 2.7
Nikolay
George
потому что on_healthy нет в docker-compose 3.***
Viktor
как найти контейнер, в котором лежит вот этот файлик? /var/lib/docker/overlay2/e046264efe46a770b13435b02afc654a2b1bfbf3ad24c11adeba5 7db144c8509/diff/etc/hyperledger/fabric/configtx.yaml вроде как-то через docker ps -f можно, но у меня не получается
for ctname in $(docker ps | awk '{print $NF}' | sed '1d'); do if [ $(docker inspect "${ctname}" | grep -c e046264efe46a770b13435b02afc654a2b1bfbf3ad24c11adeba5) -gt 0 ]; then echo "Container is ${ctname}; fi; done попробуй
Viktor
ну ps -a
Nikolay
мне кажется можно просто docker ps -a | grep e046264efe46a770b13435b02afc654a2b1bfbf3ad24c11adeb :)
Viktor
это не тот ID что ты ищешь
Nikolay
Всмысле? Это же айди контейнера
Viktor
Нет, это слои
Nikolay
А, блин, я затупил, контейнеры же в containers находятся
Влад 🇺🇦
Разобрался, образ nginx автоматом уже прописывает CMD [ “nginx”, “-g”, “daemon off;”] по этому не нужно делать рестарт сервиса
Bohdan
господа, а не подскажите, в чем может быть проблема, переодически бывает nginx в котейнере перестает работать?
Bohdan
возникает такая ошибка при старте
Bohdan
Bohdan
посмотрел это конейнер nginx
Bohdan
Bohdan
если обращатся к ноде, в обход ngixn то все работает
Bohdan
так что все симптомы на nginx, причем перестает работать, бывает раз в день, бывает пару дней работает без проблем
Bohdan
если посмотреть просто логи nginx, то там ошибки нет
Bohdan
Bohdan
может как-то можно детальней логи посмотреть?
Bohdan
Bohdan
вот кусок компоса
Bohdan
вот даже конейнер не могу остановить
Bohdan
George
докеро проблемы
George
неясно
George
может хендлеры и дескрипторы какие-то текут
George
хз
George
я бы предложил систему обновить до крайних версий
Bohdan
ок, так и думал что нужно переустановить, спасибо
Bohdan
а еще не подскажите, как порты позакрывать, например у меня нода открыта на порту 8080 и проксируется nginx на порт 8090, как закрыть для внешнего доступа 8080, раньше пробовал через iptables, но чето непомогло, докер автоматом свои правила туда кидал
George
запускай ноду на 127.0.0.1:8080
George
или как-то так. на адресе, которого нет на внешнем интерфейсе
George
либо тебе нужно в цепочке DOCKER-USER ограничить доступ
George
еще вариант - не экспоузить ноду, а nginx & node запускать в рамках одного бридж-нетворка
George
тогда они будут видеть друг друга по именам контейнеров
George
либо вообще откажись от бриджа и пускай все в network mode ==host
Evgeniy
+ бридж
Bohdan
сенкс
Влад 🇺🇦
Понятно, почему?)
вроде да, я командами перезапускал сервис который и так работал, docker думал что он не в рабочем состоянии и отправлял его на выключение
Ильдар
Нет, у тебя в cmd была команда, которая завершилась(успешно, с 0 кодом) и контейнер умер.
Влад 🇺🇦
Нет, у тебя в cmd была команда, которая завершилась(успешно, с 0 кодом) и контейнер умер.
лол, это так работает? а как можно передать команду что бы контейнер не умерал ?
Ильдар
Запуская программу на переднем плане. Контейнер будет жить пока она живет.
Ильдар
service start nginx - отработала и вышла nginx -f daemon off - запустится и будет жить на переднем плане
Влад 🇺🇦
понял, спасибо
Paruyr
Как лучше передавать настройки БД в env - URL или разделные параметры? Те postgress://user:password@host:port/dbname или -e POSTGRES_HOST=host -e POSTGRES_DB=dbname ?
George
эм
George
для кого?
George
это ты в клиенте? Если да, то тогда лучше в виде коннекшен стринга
George
хотя бы такая аргументация: ты унифицируешь. Иначе если у тебя будет подключение к 5 базам (вдруг), то у тебя будет минимум 10 параметров, что явный оверкилл
Paruyr
Ну вот у меня приложение докерезировано Ему нужна конфигурация подключения к БД Передаю ее через ENV Заметил что много где используется формат POSTGRES_HOST, но мне удобнее одним параметром
Paruyr
Мне интересно, что местные думают об этом
George
Ничего не думают. Поверь. Если база одна и обычно все на стандартных портах etc - проще двумя переменными
George
Если может быть несколько разнородных коннекшенов и не только к постгрес, то лучше коннекшн стринг целиком
⁣Денис
Всем привет. У меня есть докер-компоуз (https://paste.ofcode.org/btR5DbQmA3R5Xi9DJ7qWNi). Несколько приложений мне мне нужно сделать доступными с хостовой машины. Как это сделать? Сейчас мне пишет ошибку ERROR: only one instance of "host" network is allowed
George
Либо надень трусы, либо сними футболку
Ильдар
Хост мод работает в обратном направлении.
⁣Денис
Спасибо. Разобрался.
Aleksei
Ребята, а кто-нибудь использует обвязку для логов log-driver json-log и filebeat через docker.sock? Чтоб можно было и через docker log смотреть и в тот же elastic собирать?
Yan
ребят, подскажите, пожалуйста, по тэгированию образов в ci гитлаба: сейчас я тэгаю образы по CI_COMMIT_SHA и latest, но хотелось бы делать осмысленные теги типа 1.2.1 или типа того, чтобы я и по названию понять мог, и сортировались они в регистре на гитлабе нормально, ну вот это все
Yan
есть какой-то рецепт для такого?
Yan
через переменые окружения какие-нибудь? или придется каждый раз yml ci править и вписывать нужный тэг?
Yan
ща гляну
George
это решает твой кейс