Vladislav 👻
Посмотрите примеры в офф документации
Den
George
Или тильда это относительный путь?
Тильда - это синоним к "Хоум директории"
George
Тебе их нужно пробросить
Den
Мне вот это поправить надо?
Den
George
Типа -v mysql:/var/log/mysql
Den
И у них имя тогда появится?
Den
Нет
Заработало
Den
Спасибо добрые люди :D
LEXASOFT
Кто пробовал RUN --mount? Что даёт? https://github.com/moby/buildkit/blob/master/frontend/dockerfile/docs/experimental.md
без выполнения RUN mkdir -p -m 0600 ~/.ssh && ssh-keyscan гитрепозиторий >> ~/.ssh/known_hosts не работало. Теперь по таймауту отваливается на 132 секунде, похоже 500 мегов кода не выкачать таким способом
first
Ребзя, всем привет. https://pastebin.com/H9Nj1rsr Разворачиваю в контейнере композер, он создает папку vendor в проекте, но так как в контейнере юзер рут, то и папка с группой рута, как мне прокинуть нужного юзера в контейнер? Гугл не дал ответов :С Заранее благодарю за ответы
Sasha
Подскажите, после перезагрузки компа docker ps не показывает рабочих процессов, но они работают. правильно их обрубить?
Sasha
щито, простите?
docker ps - не видит работающих процессов. Захожу на localhost:9090 / и т.д., где у меня висят контейнеры, - они работают. docker-compose up -d / ошибка, порты уже заняты
George
ну, эм, я позволил бы усомниться
George
netstat -tlpn, ps aux - что кажут? в логах докера что?
Sasha
netstat -tlpn, ps aux - что кажут? в логах докера что?
netstat tcp6 0 0 :::15672 :::* LISTEN - tcp6 0 0 :::5433 :::* LISTEN - tcp6 0 0 :::90 :::* LISTEN - tcp6 0 0 :::9090 :::* LISTEN - ps aux | grep redis 999 3418 0.2 0.0 50288 4148 ? Ssl 20:54 0:02 redis-server *:6379 Крутятся, работают
Sasha
а ты не под рутом выпонил? ай-ай-ай
Ага, пардон. Под рутом: tcp6 0 0 :::15672 :::* LISTEN 3395/docker-proxy tcp6 0 0 :::5433 :::* LISTEN 3215/docker-proxy tcp6 0 0 :::90 :::* LISTEN 3115/docker-proxy tcp6 0 0 :::9090 :::* LISTEN 3314/docker-proxy
George
хм. очень интересно. а редис под докером запущен?
George
я тоже так думаю. Но очень подозрительно, что юзер 999
George
как будто какой-то сбой. Причем не типовой
Sasha
хм. очень интересно. а редис под докером запущен?
Да, у меня нет редиса в системе вне докера.
George
слушай
George
а ты докер не обновлял часом?
George
https://forums.unraid.net/topic/37505-docker-containers-are-missing-after-reboot/
Sasha
а ты докер не обновлял часом?
да не, последняя версия стоит
first
А проблема в чем?
В контейнере запускается композер от рута, скачиваются зависимости, через волюм кладутся в мой проект на основной машине, НО права на этой папочке рутовые, т.к. эта папка была создана из под рута в контейнере, вот я и хочу узнать, как прокинуть в контейнер нужного пользователя, чтобы от него команда запускалась, а не из под рута
Nikita
ребят, подскажите плиз, можно из одного Dockerfile ссылаться на другой? что то вроде # Dockerfile2 FROM ./Dockerfile1 # Dockerfile3 FROM ./Dockerfile1 чтобы при сборке Dockerfile3 и Dockerfile2 пересобирался Dockerfile1, если нужно обновить кеш
George
а зачем?
George
ты укажи FROM imagename
George
и тег правильный и оно само распедалит
Nikita
а зачем?
есть монореп, в котором пакеты из yarn устанавливаются сразу для всех модулей, и при сборке модулей хотелось бы один раз установить все пакеты, а не 5 раз (для сборки каждого модуля)
George
еще раз 🙂 про ссылаться из докерфайла на другой докерфайл - про такое не слышал
George
но если ты сделаешь FROM <имя_образа_где_все_завимисости>, то твоя проблема решена
George
либо сделай так
George
в каждом докерфайле опиши первый шаг сборки как FROM blablabla as builder далее действия по установке пакеов, а в основной части возьми их через COPY from builder
Nikita
но если ты сделаешь FROM <имя_образа_где_все_завимисости>, то твоя проблема решена
да, так было бы круто, но образ с зависимостями тогда нужно будет ручками пересобирать каждый раз ? хм, а в докеркомпоузе можно этот образ отдельно собирать, дать ему имя, а остальные чтобы от него зависели ?
George
т.к. builder будет одинаковый во всех трех докерфайлах, то сборка резко ускорится
Nikita
сейчас это так выглядит:
Nikita
и первые 10 строк должны быть общие для нескольких контейнеров
George
и чем тебя сейчас это не устраивает? ну, да
Nikita
это сейчас для одного контейнера, а в 10 строке устанавливаются все пакеты (1 минуту занимает)
Nikita
и нужно еще для нескольких контейнеров повторить
Ильдар
Контейнеров или образов?
George
еще раз - если тебе повезет, то у тебя сборка (первые 14 строк) буду вытащены из докер-кэша
George
нужно проверять
George
более того - если тебе нужно ПАРАМЕТРИЗОВАТЬ сборку, то есть ключевое слово ONBUILD
Nikita
Контейнеров или образов?
получается образов, сорян, туплю
George
так что в теории ты можешь вообще все упихать в один докерфайл
Ильдар
1. Один Dockerfile для 10 образов, первый образ ставит зависимости, остальные копируют из первого. 2. 10 Dockerfile, первый собирает образ с зависимостями, остальные ссылаются на этот образ.
Ильдар
Те же 🥚, только в профиль.
George
± согласен
Ильдар
более того - если тебе нужно ПАРАМЕТРИЗОВАТЬ сборку, то есть ключевое слово ONBUILD
Пока не видел подвода применить эту инструкцию, и данный случай не стал исключением :)
George
меня ONBUILD стремает, если честно
George
проще уж докерфайл генерить по шаблону
Ильдар
еще раз - если тебе повезет, то у тебя сборка (первые 14 строк) буду вытащены из докер-кэша
Должно сработать, но поддерживать это... Может генератор написать? ;)
Nikita
я все еще туплю, и не совсем понимаю как стоит сделать ) пока вот тут нашел рабочее решение во втором комменте, через докер-компоуз https://stackoverflow.com/questions/37933204/building-common-dependencies-with-docker-compose но это вроде как хак
Ильдар
> Use a Makefile. docker-compose is not designed to build chains of images, it's designed for running containers.
Ильдар
Makefile
George
George
или любой другой сборщик
George
хоть базелем
Ильдар
Ты решаешь странную задачу стрёмными способами. Не надо так.
Ильдар
Нормально делай - нормально будет.
Nikita
+100
ох, ну буду разбираться с Makefile теперь )
Nikita
спасибо )
Rom
Народ, может кто сталкивался с проблемой создания контейнера в portainer Предварительно с гитлаба спулил нормально, а создать контейнер не могу