DjinN
Возможно хочу фигню, я только начинаю разбираться. Я не понимаю принцип работы, если я делаю docker run -it -d conname то потом я спокойно могу его стопить и стартить, но если я не делаю -it то при docker start контейнер запускается и останавливается, а я например хочу в него зайти и что нибудь там посмотреть
DjinN
может я какой то основной идеи не понимаю? Или я всегда должен заранее указывать -it?
George
опять же задача какая?
George
тебе -t нужен, если у тебя программа в докере работает с терминалом
Ильдар
https://docs.docker.com/engine/reference/run/#detached-vs-foreground
George
-i нужен для интерактивного режима (т.е. контейнер запущен, пока у тебя программа в нем запущена в консоли)
Ильдар
флаги -ti и -d несовместимы
George
в остальном - желательно запускать докеры в фоновом режиме
George
если что-то нужно в нем починить - docker exec -it container_name sh и погнал через шелл
George
Чинить в докере?
ну. иногда приходится, увы
Absynth
ну. иногда приходится, увы
Ну только для отладки надеюсь?
George
конечно
Absynth
конечно
Отлегло аж 🤣😇
Nick
Народ, помогите пожалуйста разобраться (я новичек): version: '2' services: zookeeper: image: wurstmeister/zookeeper ports: - "2181:2181" kafka: build: . ports: - "9092:9092" environment: KAFKA_ADVERTISED_HOST_NAME: 192.168.99.100 KAFKA_CREATE_TOPICS: "test:1:1" KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 volumes: - /var/run/docker.sock:/var/run/docker.sock —- zookeeper должен быьт равным 192.168.99.100 ? Почему в docker-compose.yml, в KAFKA*, прописаны 3 разных имени ? Они должны как-то с друг с другом коррелироваться ? Это один и тот-же хост или 3 разных ? Спасибо.
DjinN
в остальном - желательно запускать докеры в фоновом режиме
то есть если я запустил контейнер с помощью docker run, я потом могу к нему подключится с помощью docker exec -it container_name sh даже если он не запущен?
DjinN
если не запущен. то нет
в общем примерно понял, спасибо
Nick
Пока все вопросы про кафку, ты не в том чате)
Скажите, пожалуйста, какой чат ?
Ильдар
https://t.me/proKafka ?
SENSATION
Всем привет
SENSATION
Периодически сервер splash запущенный в контейнере docker'а "зависает". Проявления зависания: 1. Сервис перестает отвечать на любые запросы, в том числе http://localhost:8050/_ping 2. Логи перестают появляться. 3. Никаких ошибок не наблюдается Помогает только перезапуск контейнера. как быть? Сказали тут есть спецы: @coreos_ru, @kubernetes_ru, @devops_ru, @rkt_ru
George
С такой странной проблемой не сталкивались
Anno
Проблема в том, что в логах до момента замерзания всё выглядит как обычно. Выполняется очередной внешний запрос и после этого контейнер перестаёт отвечать.
Svetozar
Пpичина моeго беcконечного недоcыпа
Ильдар
Запусти работу в докере, делов-то!
⁣
Надо короче тебе читать логи когда работает приложение, это тупняк именно приложения
⁣
Попытаться воспроизвести проблему
⁣
Да долго, да муторно, но тут проблема приложения твоего.
Danila
Подскажите, как организовать UID mapping внутри docker контейнера? Т.е. я хочу, чтобы UID пользователя хоста совпадал с UID пользователя контейнера(и таких пар пользователь - контейнер) много
⁣
Если есть логирование типа кибана, грейлог, настройте агента и логи отправляйте туда, чтобы читать проще было
⁣
Хранятся логи если делали /var/lib/docker/containers/*/*.json
⁣
Ну на крайняк портейнер сделайте, но это лишняя дырка. На проде юзать его моветон
⁣
И ит безопасность пиздить должна вас за это, сто и правильно
⁣
Portainer.io
Danila
-u при запуске
Тогда пользователь root внутри контейнера будет обладать только правами пользователдя, который будет указан в -u ?
Mykyta
Тогда пользователь root внутри контейнера будет обладать только правами пользователдя, который будет указан в -u ?
в общем, возможно, просто я немного не понял задачу, обычно парятся с такими штуками если налажали с уидами на хостовой машине и в докер прокидывают папки
Mykyta
Я как раз прокидываю директории с хоста в контейнер
ну тогда изи решение просто ранить контейнер под иудом и гуидом как на хостовой машине
Mykyta
Я как раз прокидываю директории с хоста в контейнер
имею в виду как на те папки что ты прокинул
Danila
Зачем?
Потому что я монтирую директории с хоста в контейнер
Danila
А директория принадлежит конкретному юзеру
George
ну, сделать правильный докер файл и запускать приложуху через стартовый скрипт с пробросом переменных UID/GID?
Danila
ну, сделать правильный докер файл и запускать приложуху через стартовый скрипт с пробросом переменных UID/GID?
Проброс переменных через -e не нужен, можно просто через флаг -u указывать юзера, от имени которого запускается процесс в контейнере
George
с chown, gosu и прочей дрянью внутри
George
мне отсюда не видно
Danila
Это оф. образы apache с php
Danila
+ оф. образы python (с uwsgi)
Mykyta
Просто кидаешь ему уид, гуид хоста и норм все работает
George
Да нет
аргументируешь? ты postgres так запускал?
George
из штатного образа?
Mykyta
аргументируешь? ты postgres так запускал?
Хм, так пострес зашит, если не ошибаюсь, 1000:1000
Mykyta
Ну это чучуть пример не корректный
George
Ну это чучуть пример не корректный
как раз пример корректный
George
вы тут рассказываете про общее решение и не говорите, что у него могут быть изъяны.
George
я представляю себе как запускаю я такой gitlab omnibus docker с uid и все ломается (надо, кстати, попробовать)
Mykyta
как раз пример корректный
Допустим, проступил на старте, создал юрезов с уид гуид 1534:1053 и допустим ранишь джангу
Mykyta
Суёшь ему сырцы с 1534:1053 и норм
George
ну, джанга - не сломается, стопудово. Но еще отдельный вопрос зачем ей прокидывать UID:GID - она ведь стейтлес обычно?
George
запекаешь в нее сырцы и полетели
George
прокидывания исходников - нужно на тачке разработчика… и это такой кейс… хороший, но не особо нужный
George
Отобьёт по пермишенам
в смысле - если исходники не с теми пермишшенами? Ну, смотри кейс - джанга, я все запаковал в образ. По умолчанию запускаю от 1000:1000, внутри образа очевидно файлы с правами 1000:1000 и 755 например
George
ваш ход?
Mykyta
ваш ход?
Это все очевидно)
Danila
А у меня приложений много, и все они в едином хранилище, которое подмонтировано к хосту(сетевая ФС)
Bogdan
не подскажите, что может быть причиной, почему докер кушает CPU как не в себя?)