Alexey
Рафаэль ᕕ( ᐛ )ᕗ
docker exec docker_postgres_1 sh
Andrey
а docker system prune -a все образы удалил? После него docker image ls показывал что-нибудь?
Alexey
Alexey
Andrey
ну хер знает тогда, выкини этот композе на помойку и не используй его для сборки
Рафаэль ᕕ( ᐛ )ᕗ
уже можно не замазывать, в общем-то
Alexey
George
Alexey
и почему первая команда копирования выполняется, а вторая - нет?
George
запускать - запускай, если хочется
Alexey
George
напиши мейкфайл, внутри docker build
George
используя docker-compose up —build ты теряешь контроль над процессом
George
т.е. это типа как бы удобно, а по факту - ты не первый, у кого что-то не так закэшировались и все сломалось
Alexey
а нет какой-то магической команды кэш этот почистить или обнулить?
Andrey
Не используй таг latest, меняй при каждом ожидаемом изменении образа.
Andrey
Поможет 100%
p
всем привет!
знаю, что идиотский вопрос, но пол дня мучаюсь и гугл не помогает...
docker pull mongo:latest
docker run -p 27017:27017 mongo
не могу подключиться к базе после этого
ip использую этот: "IPAddress": "172.17.0.2"
это из docker inspect
что делаю не так?
ranebull
ranebull
Тот IP, который вы пытаетесь использовать - изолированная сеть Docker
ranebull
Andrii
ребят, подскажите в какую сторону копать - уже кучу перебровал - нужна сборка
- PHP7.3 (можно и 7.2)
- nginx
- mysql
- redis (не обязательно)
для дева
Hopf
В сторону написания докерфайла?
simplemice.eth
ну, можно начать с докер-компоса :)
ranebull
Levan (Leo)
Не могу запустить постгри
Levan (Leo)
Levan (Leo)
Не / в докер
Levan (Leo)
Я уже запускал
Levan (Leo)
Но ща не хочет
Levan (Leo)
(
Kana
Ребят подскажите у меня есть контейнер с nginx и контейнер с пхп. Будет ли норм идеей в пхп контейнере поставить 777 на файлы и папки или чем это чревато?
Kana
Чот не могу нормально дать права на папки nginx контейнеру
Kana
@smilingnavern
Kana
Как думаешь?
Navern
Navern
Что ты пытаешься сделать?
Kana
У меня есть контейнер nginx в который стучатся запросы. И контейнер пхп. При отправке запросов выходит ошибка, что нет доступа к файлам.
Kana
File permissions error
Kana
@smilingnavern
Navern
Kana
Kana
Пхп пишет логи
Kana
Логи приложения
Navern
Ну так сделай имадж так чтобы он писал в стдаут
Kana
У ларавела в папке storage хранятся логи. Он ща не может их создать изза прав
Kana
Kana
@smilingnavern я короч выяснил id пользователя в контейнере и дал ему права на хосте. Но чот напрягает что приходится это делать, получается всем кто проект качнет придётся то же самое делать
George
Navern
Navern
Если ты мапишь с хоста файлики
George
там с этим есть проблемы
George
т.к. стандартный образ не делает chown на файлы ВНУТРИ контейнера. Результат - пермишен денайды уже на содержимое контейнера
Navern
Navern
Но да это все костыли и хрупкие причнм
George
даже не говори
George
FROM nginx:1.15.12-alpine
RUN apk add --no-cache tzdata shadow
ENV TZ Europe/Moscow
RUN usermod -u 1000 nginx && \
touch /var/run/nginx.pid && \
chown -R nginx:nginx /var/run/nginx.pid && \
chown -R nginx:nginx /var/cache/nginx && \
chown -R nginx:nginx /var/log/nginx && \
rm /var/log/nginx/access.log && \
rm /var/log/nginx/error.log
USER nginx
RUN touch /var/log/nginx/access.log && \
touch /var/log/nginx/error.log
George
вот например штука, которая запускает nginx от пользователя 1000 (обычно тот же юзер, что и на хосте - первый непривилегированный)
George
вообще стыдно людям такое показывать, ога
Evgeniy
что то не удается сделать вывод из задач крона в логер докера
dockerfile https://pastebin.com/RWGCLUhV
crontab https://pastebin.com/EDzAFWrL
файлы /magic и /test заполняются логами запуска, а вот вывода в docker-compose logs cron нету
может кто знает в чем причина?
George
очевидно. Потому что ты делаешь бред.
George
но если очень хочется использовать крон, то я запретить не могу (
Evgeniy
я знаю что крон это плохо в докерах но есть проект где надо выполнять периодически команды, какие решения для этого есть ?
George
я знаю что крон это плохо в докерах но есть проект где надо выполнять периодически команды, какие решения для этого есть ?
5 решений.
1. крон на хосте - в задачу впихиваешь docker exec blablabla (blablabla - твоя команда в твоем контейнере)
2. systemd-timer на хосте (полный аналог крона)
3. написать свой движок - в любом языке программирования есть таймеры, заодно как бонус сможешь выполнять таски не каждую минуту, а хоть каждую секунду
4. если есть внешняя система оркестрации или деплой - можно через него (от нищеты мы часть задач по обсчету раз в сутки запускали через расписание в гитлабе)
5. идеально - куберенетосовский кронджоб (если есть куб)
George
касательно вывода в stderr - я еще подумаю, что можно сделать
Evgeniy
Evgeniy
надо писать в /proc/1/fd/0|1
George
выглядит как костыли все равно
Evgeniy
потому что /dev/stdout symliny на /proc/self/fd/0 а self это симлинк на 876 в моем текущем запуске
Evgeniy
а надо слать на 1 pid
Evgeniy
по другим пунктам делать это на хосте это еще хуже
докер это инструмент по запуску процессов в одинаковом окружение, cron - такой же процесс просто написан очень давно
и неудобство запуска крона связано с тем что нормально докер от конфигурить мало человек может
George
ну, здесь тебе самому надо решить, что является для тебя куском окружения 😊
George
я тебе более того скажу - докер нИ НУЖЕН
Evgeniy
я же не просто крон пускаю