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 как не в себя?)