Konstantin
волумные стораджи есть?
Ильдар
Viktor
Хай
dockerd[2767]: time="2018-12-12T14:28:27.508420040+03:00" level=error msg="Handler for GET /v1.30/containers/json returned error: write unix /var/run/docker.sock->@: write: broken pipe"
Сразу после этого умирает сеть, лагает докер:
docker stop
отрабатывает без ошибок, при этом не останавливая контейнеры, проброшенные порты отвечают Connection refused
Приходилось кому-то сталкиваться?
Anonymous
Подскажите пожалуйста, как в поде кубернетеса запустить 2 комманды на параллельное выполнение?
Ильдар
Konstantin
перевалочный пункт 😃
Виктор
Никак не найду хороший способ сделать так, чтобы подключенные через volume файлы спокойно редактировались потом на хосте :(
Виктор
Подскажите решение, пожалуйста
Виктор
какие адекватные есть...
Viktor
Виктор
Сегодня весь день гугл мучаю и сам экспериментирую. Если прокидываю в контейнер код приложения как volume, ту же папку vendor он под рутом скачивает. Либо выполняет команду от моего юзера (добавляю в docker-compose user: "${USER_ID:-1000}:${GROUP_ID:-1000}", но при этом недоступна папка ~/.composer/cache, что на порядки увеличивает время установки пакетов. А при билде юзера, под которым будут выполняться команды, еще не существует. Соответственно, нельзя сделать chown.
JyBvciAxID0gMSAtLQo=
JyBvciAxID0gMSAtLQo=
Оно?
Виктор
Не понял, каким образом мне редактировать файлы, не подключаясь при этом к контейнерному bash. Так же неясно, что делать с файлами БД. Если я верно понял, все изменения по файлам можно производить только в консольных редакторах, и они умрут при остановке контейнеров.
Andrey
Виктор
Монтируй папки с хоста.
Проблема с разрешениями. Ci раннер монтирует папки, проводит миграции в БД, выполняет тесты, затем все чистит, и не может подчистить за собой файлы БД, т.к. они созданы под другим юзером.
Andrey
Виктор
А как быть с препрод и прод деплоями? Там данные должны оставаться вне зависимости от того, запущен ли контейнер.
Виктор
Или 2 разных конфига делать?
Виктор
В одном делать volume, вдругом нет
Виктор
gitlab-runner сам пытается удалить все файлы, что не под гитом... И завершает работу с ошибкой, если не получается.
Виктор
В общем, для ci отключать создание тома. Океюшки, будет другой docker-compose.
Виктор
А как быть с кейсом с разработкой и композером?
Виктор
docker-compose exec app composer update в папке vendor создает новые файлы от рута.
Виктор
Я могу запустить эту команду от своего пользователя, но тогда нет смысла прокидывать в контейнер данные из ~/.composer: они все равно доступны будут только для рута.
Виктор
А без этого composer update может выполняться несколько минут, что тоже не комильфо.
Rustam
1. код всего проекта монтируем в контейнер с хоста, где файлы принадлежат вашему юзеру
2. композер при разработке гоняем на хосте, в репу кладём composer.lock и при автоматической сборке делаем не composer update, а composer install
стас
Всем привет! Я тут дико тупанул и пушнул на гитлаб вот такой gitlab-ci
build:
script:
- docker build -t bot .
- docker run bot
В итоге когда я понял что bot у меня бесконечно работает попытался отменить pipeline. Подумал что все ок, но не нифига. Приложение все еще работает и шлет мне нотификации на почту, хотя pipeline отменен. Что делать???
Ильдар
тебе же в профильном чатике ответили
стас
не то не другое у меня не получилось
стас
Эх. Зайти по ssh на воркер и остановить контейнер
стас
И не делать run
стас
а я не могу пушнуть скрипт типа такого?
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
docker rmi $(docker images -q)
стас
Ну можно наверно. Но это же один раз тебе надо
стас
А, ты про лимит час?
стас
Konstantin
странно, у раннера таймаут же на подобное. В любом случае не тот канал
αιβεν
можно ли в докер сварм обновить сразу несколько сервисов?
вот знаю как один заапдейтить docker service update --force --image ${image} ${service}
но у меня сразу несколько сервисов от одного образа зависят и было б не плохо их вместе обновить
Konstantin
Konstantin
Руками вообще ничего не стоит делать
αιβεν
всмысле? как через компоуз обновлять? я знаю только как все сразу передеплоить, но нужно же конкретные сервисы для конкреного нового образа
Rustam
На самом деле докерд не умеет атомарно обновлять несколько сервисов, под капотом docker stack deploy - последовательный вызов docker service * и других простых операций. Поэтому не парьтесь )
αιβεν
интересно что будет если параллельно запустить несколько апейтов
будет ли докер машина складывать апдейты в очередь и вызывать по-одному
или одновременно и будет разворачивать 🤔
αιβεν
но вообще да, наверно не стоит запариваться) спасибо
αιβεν
на стаковерфло кстати ответили что "стак деплой" запускает сервисы параллельно
αιβεν
и апдейтить нужно в детач режиме
docker service update -d service1
docker service update -d service2
Konstantin
αιβεν
просто каждый раз когда я так делал то перезагружалось все
αιβεν
нужно ли что-то добавлять в компоуз или какие-то еще аргументы прописывать в деплой?
Konstantin
перегружаются только изменения
αιβεν
но я вижу в service ls что неизмененные тоже перегрузились (0/1 у них стоит в колонке с сколько запущено)
Еvгений
Всем привет! Такой вопрос - как сделать из контейнера черный ящик чтобы туда не смогли зайти через exec ti или не примаунтили чего лишнего
Anonymous
Anonymous
кароче прав запуска комнды docker
Еvгений
Это прекол да
αιβεν
или поудалять все команды)
αιβεν
никто ничего не запустит если нечего запускать
αιβεν
https://forums.docker.com/t/blackbox-container/37625
αιβεν
пишут что если ты хочешь скрыть в докере то компиль это что-то в бинарник, чтоб никто не мог прочитать код
αιβεν
а доступ к контейнеру будет всегда
Еvгений
Хотел сайт на php , с базой, закрыть в виде черного ящика, чтобы могли посмотреть демку, но не исходники
Еvгений
Точнее, часть файлов открыть (настройка темы)
Konstantin
Konstantin
Grisha
Подскажите пожалуйста, нужно в контейнере docker запустить сервис через supervisord, пробую так
CMD ["/usr/bin/supervisord", "--nodaemon", "--configuration", "/etc/supervisord.conf"]
но к сожадению supervisord всеравно завершается.
Grisha
Как забубенить правильно
Ильдар
Как забубенить правильно
Как в гайдах пробовал?
https://docs.docker.com/config/containers/multi-service_container/
Maxim
Еvгений
А у alpine есть supervisord?
Еvгений
Как?
Sergey
Что значит как
Sergey
Гуглишь alpine repo
Sergey
Ищешь там пакет
Egor
Есть кто, кто ставил авторитативный днс сервер с edns (ecs) ? Умеет ли bind в ecs а powerdns в split horizon ?
Еvгений
Ага, поискал, там нету
Sergey
Egor