Timur
не должно быть проблем с stdout, права предоставлены всем, проверьте внутри права
Andrey
куда писать, чтобы в логах докера видеть?
Есть вот такое, но сам не пробовал https://github.com/coderanger/supervisor-stdout
kkv
это то, что ты видишь, когда выполняешь команду в терминале
Timur
да, но это self
твой кейс, если я правильно понял: основной процесс это супервизор, который запускает приложение от имени non-root пользователя, а это приложение не может выплюнуть логи в stdout, верно?
kkv
но у папйпа, который в докер лог передает, таких прав нету
Timur
но у папйпа, который в докер лог передает, таких прав нету
простой способ дать права во время сборки образа
kkv
простой способ дать права во время сборки образа
костыль какой-то. рассматриваю, но как крайний вариант
Timur
костыль какой-то. рассматриваю, но как крайний вариант
пробежался по своим запущенным контейнерам и везде есть права
Timur
Timur
какой базовый образ у вас используется?
kkv
какой базовый образ у вас используется?
php:8.1.3-fpm-alpine3.15 такой, например
kkv
да это все тот же self
kkv
это не вывод в докер логс
kkv
в логи докера попадает из /proc/1/fd/1, например
Timur
дело в том что вы пытаетесь писать в PID 1, который запущен от root
Timur
запустите сам supervisor под тем же пользователем
Timur
в таком случае owner будет один, и будут доступы
kkv
дело в том что вы пытаетесь писать в PID 1, который запущен от root
эм... все резко стало понятно и логично, спасибо. т.е. если я запущу приложение от того же поьзователя, что и супервизор, то все будет ок. спасибо.
kkv
надеюсь это не сарказм)
нет, это не сарказм. я даже не подумал, что в proc лежат выводы процессов по пидам
Timur
/proc/тут цифра = pid
kkv
угу, уже понял)
kkv
спасибо
Timur
в docker logs попадает только PID 1 по заветам предков
Elion
вопрос: создал контейнер для выполнения cron. При создании контейнера копируется cron из файла
Elion
если в файле прописан крон вот так: * * * * * echo "Hello world" >> /var/log/cron.log 2>&1 # An empty line is required at the end of this file for a valid cron file. то все срабатывает, захожу в контейнер крона и вижу, что в логах пишется. Если вот так: * * * * * cd /var/www/html && php artisan schedule:run >> /var/log/cron.log 2>&1 # An empty line is required at the end of this file for a valid cron file. то не срабатывает Если зайти в контейнер приложения и выполнить команду php artisan schedule:run - она отрабатывает подскажите, в каком направлении копать
GM
если эта команда отвалиться cd /var/www/html на пример из за юзер пермишнов, то следующая выполняться не будет я бы сделал вот так, и посмотрел бы что пишет в крон лог HOME=/var/www/html * * * * * php artisan schedule:run >> /var/log/cron.log 2>&1
GM
не посмотрел скриншот докера :) у тебя нету там екзекют пермишна для скрипта, скорее всего проблема из за этого, меняй 0644 -> 0744 и скорее всего пройдет ;)
Elion
не помогло. Залез в логи контейнера cron, там отображаются ошибки /bin/sh: 1: /usr/bin/php: not found /bin/sh: 1: /usr/bin/php: not found скопировал команды для установки php из основного Dockerfile проекта в Dockerfile cron'а, в логах контейнера начала падать ошибка, что-то вроде can't found /var/www/html/artisan Получается контейнеры не видят друг друга? Вообще возможно, что cron процесс в одном контейнере вызывает файл на исполнение в другом контейнере?
kkv
гавно это
kkv
если прямо никак не обойтись без запуска шедулера, то лучше поставить супервизор, и демонами запускать приложение и schedule:work, вместо schedule:run
kkv
schedule:work будет сам пинать schedule:run каждую минуту
Elion
если прямо никак не обойтись без запуска шедулера, то лучше поставить супервизор, и демонами запускать приложение и schedule:work, вместо schedule:run
как мне это сделать, для этого отдельный контейнер можно запустить или в основном контейнере приложения?
Ivan
Всем привет! Подскажите пожалуйста, почему не собирается контейнер из следующего docker файла: FROM python:3.9-alpine COPY requirements.txt /app/requirements.txt #COPY .gitconfig /root/.gitconfig COPY .gitconfig /etc/.gitconfig WORKDIR /app RUN apk add --update --no-cache python3 git \ && ln -sf python3 /usr/bin/python3 \ && pip install -U pip RUN git config /etc/.gitconfig CMD ["flask", "run"] Все время возникает ошибка : error: invalid key: /root/.gitconfig .gitconfig, requirements.txt и Dockerfile хранятся в одной директории в проекте.
Heorhii
В .gitconfig настройки для всех юзеров или конкретного юзера лежат?
.
Привет всем, так вопрос внутри докер контейнера докер можно запустить ? Он у меня не запускается
Evgeniy
более того можно прокинуть сокет управления и из него управлять докером хостовой машины
Evgeniy
для этого есть название dnd (docker in docker)
.
Я внутри контейнера установил докер и докер компосе все настроил, docker —version работает, но когда пытаюсь сделать элементарно docker ps то он говорит вы точно стартовали докер итд, пытаюсь стартануть выходит ошибка
.
Нет ли какой нибудь статьи для этого ?
.
Чёт я не нашёл, скорее плохо поискал
Lev
Нет ли какой нибудь статьи для этого ?
да там, вроде, сокет прокинуть достаточно было (с хоста внутрь контейнера)
.
А кажется логику немного понял
.
Спасибо ребят
.
Выручили
Anton
привет всем, вопрос как можно передать файл (или его значение) с одного контейнера в другой (без вольюмов)
Anton
ну и костылей
Anton
типа ссх)
Никита
Б
Evgeniy
https://docs.docker.com/engine/reference/commandline/cp/ ?
Evgeniy
можно найти где лежит слой с нужным файлом
Evgeniy
и просто на хостовой машине скопировать файл
Никита
Ребят всем привет! Установил на CENTOS 7 PHP-FPM 7.4 NGINX запустил php info всё работает отлично Теперь устанавливаю REDIS так-же php-pecl-redis для связи с php_fpm но окно редис не появляется в php info может подскажет что?
Никита
Никита
Я про это разширение
Никита
Может инструкция есть к кого перерыл много информации ответа не нашёл
Evgeniy
один из видов изоляции контейнеров это chroot значит на хостовой машине где то существует папка где лежит корень этого контейнера или слоя
Evgeniy
для этого есть даже базовые образы
Evgeniy
для пхп довольно часто пользуюсь https://github.com/mlocati/docker-php-extension-installer чтобы установить кучи полезных модулей
Никита
Спасибо гляну
Jasur
добрый день
Jasur
поднял контейнер с оффициальном image ом wso2 он поднялся без ошибок, телнет до порта контейнера есть никаких файрволов нет в хосте, но когда введу адресс в браузе не открывается страница
Jasur
когда курл делаю ошибка вот такая
Jasur
я введу https://192.168.200.160:9443 и он пробрасывает на localhost но не открывает страницу
Jasur
кто столкнулся такой проблемой можете помочь?
Lev
кидай команду запуска
Jasur
docker run -it \ -p 9443:9443 \ -p 8243:8243 \ -p 8280:8280 \ wso2/wso2am
Jasur
вот iptables
Jasur
когда курл делаю ошибка вот такая
почему localhost отказывает слушать этот порт?
Jasur
но другой порт отвечает так
Jasur
попробовал полный адресс ввести
Jasur
но снова ошибка