Konstantin
волумные стораджи есть?
Ильдар
http://docker.crank.ru/docs/docker-engine/learn-by-example/network-containers/
зачем читать полуавтоматический перевод устаревшей доки?
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 файлы спокойно редактировались потом на хосте :(
Виктор
Подскажите решение, пожалуйста
Виктор
какие адекватные есть...
Виктор
Сегодня весь день гугл мучаю и сам экспериментирую. Если прокидываю в контейнер код приложения как volume, ту же папку vendor он под рутом скачивает. Либо выполняет команду от моего юзера (добавляю в docker-compose user: "${USER_ID:-1000}:${GROUP_ID:-1000}", но при этом недоступна папка ~/.composer/cache, что на порядки увеличивает время установки пакетов. А при билде юзера, под которым будут выполняться команды, еще не существует. Соответственно, нельзя сделать chown.
JyBvciAxID0gMSAtLQo=
Оно?
Виктор
Не понял, каким образом мне редактировать файлы, не подключаясь при этом к контейнерному bash. Так же неясно, что делать с файлами БД. Если я верно понял, все изменения по файлам можно производить только в консольных редакторах, и они умрут при остановке контейнеров.
Виктор
Монтируй папки с хоста.
Проблема с разрешениями. Ci раннер монтирует папки, проводит миграции в БД, выполняет тесты, затем все чистит, и не может подчистить за собой файлы БД, т.к. они созданы под другим юзером.
Виктор
А как быть с препрод и прод деплоями? Там данные должны оставаться вне зависимости от того, запущен ли контейнер.
Виктор
Или 2 разных конфига делать?
Виктор
В одном делать volume, вдругом нет
Виктор
gitlab-runner сам пытается удалить все файлы, что не под гитом... И завершает работу с ошибкой, если не получается.
Andrey
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
Руками вообще ничего не стоит делать
αιβεν
всмысле? как через компоуз обновлять? я знаю только как все сразу передеплоить, но нужно же конкретные сервисы для конкреного нового образа
Rustam
На самом деле докерд не умеет атомарно обновлять несколько сервисов, под капотом docker stack deploy - последовательный вызов docker service * и других простых операций. Поэтому не парьтесь )
αιβεν
интересно что будет если параллельно запустить несколько апейтов будет ли докер машина складывать апдейты в очередь и вызывать по-одному или одновременно и будет разворачивать 🤔
αιβεν
но вообще да, наверно не стоит запариваться) спасибо
αιβεν
на стаковерфло кстати ответили что "стак деплой" запускает сервисы параллельно
αιβεν
и апдейтить нужно в детач режиме docker service update -d service1 docker service update -d service2
αιβεν
просто каждый раз когда я так делал то перезагружалось все
αιβεν
нужно ли что-то добавлять в компоуз или какие-то еще аргументы прописывать в деплой?
Konstantin
перегружаются только изменения
αιβεν
но я вижу в service ls что неизмененные тоже перегрузились (0/1 у них стоит в колонке с сколько запущено)
Konstantin
но я вижу в service ls что неизмененные тоже перегрузились (0/1 у них стоит в колонке с сколько запущено)
ты что-то мимо копоза вносил\изменял, вот он и возвращает к конфигу. Не трогает он сервисы, которые не изменялись в конфиге. Для пущей надёжности можно вообще разнести в разные конфиги
Еvгений
Всем привет! Такой вопрос - как сделать из контейнера черный ящик чтобы туда не смогли зайти через exec ti или не примаунтили чего лишнего
Anonymous
кароче прав запуска комнды docker
Еvгений
Это прекол да
αιβεν
или поудалять все команды)
αιβεν
никто ничего не запустит если нечего запускать
αιβεν
https://forums.docker.com/t/blackbox-container/37625
αιβεν
пишут что если ты хочешь скрыть в докере то компиль это что-то в бинарник, чтоб никто не мог прочитать код
αιβεν
а доступ к контейнеру будет всегда
Еvгений
Хотел сайт на php , с базой, закрыть в виде черного ящика, чтобы могли посмотреть демку, но не исходники
Еvгений
Точнее, часть файлов открыть (настройка темы)
Konstantin
Хотел сайт на php , с базой, закрыть в виде черного ящика, чтобы могли посмотреть демку, но не исходники
дай https://твой.домен и будет щастЯ. Мы тут вообще за опенсурс топим если чо )
Grisha
Подскажите пожалуйста, нужно в контейнере docker запустить сервис через supervisord, пробую так CMD ["/usr/bin/supervisord", "--nodaemon", "--configuration", "/etc/supervisord.conf"] но к сожадению supervisord всеравно завершается.
Grisha
Как забубенить правильно
Ильдар
Как забубенить правильно
Как в гайдах пробовал? https://docs.docker.com/config/containers/multi-service_container/
Еvгений
А у alpine есть supervisord?
Sergey
А у alpine есть supervisord?
А самому в репы альпайна посмотреть?
Еvгений
Как?
Sergey
Что значит как
Sergey
Гуглишь alpine repo
Sergey
Ищешь там пакет
Egor
Есть кто, кто ставил авторитативный днс сервер с edns (ecs) ? Умеет ли bind в ecs а powerdns в split horizon ?
Еvгений
Ага, поискал, там нету
Egor
@devops_ru
спасибо