George
Код - это пыхыпы файлы
George
Данные - это статика, то что нужно шарить между репликами (какие нибудь аплоады, например)
George
Код, по-нормальному, это часть образа. Код обновился - печень новый образ. В процессе жизни образа код не меняется.
Evgeniy
Как их можно разнести? У меня например ларавел - приложение. Что подразумевается под данными и что под кодом? В сообщении выше я и под данными и под кодом имел в виду одно и то же. БД у меня в отдельном контейнере. пока с БД проблем нет. У меня проблема - обновление файлов с кодом проекта.
вангую у тебя проблема в загруженных файлах в laravel есть драйвер s3 для загрузки файлов используй загрузку файлов не в пхп контейнер, а на общее хранилище (например amazon s3) если не охото тратиться то minio
Evgeniy
тогда пересборка application не перезапишет загруженные файлы потому что они будут лежать в другом месте
Evgeniy
вообще надо стараться сделать так чтобы application (laravel) не писал ничего в себя все логи в stdout файлы на s3 сессии в редис драйвер например кэш в редис и тд это все там настрайвается в настройках, просто значения по умолчанию пишут все в папку storage
Sergey
Подскажите docker поддерживает уже nftables?
EN
вангую у тебя проблема в загруженных файлах в laravel есть драйвер s3 для загрузки файлов используй загрузку файлов не в пхп контейнер, а на общее хранилище (например amazon s3) если не охото тратиться то minio
С файлами в storage все нормально. S3 хорошая штука, но тратиться неохота( хотя сервер я использую от AWS(free). Пока этот вопрос отложил на перспективу. У меня весь проект мапился на хост. Переделал. Вроде заработало, правда теперь после пересборки контейнера приложения нужно обязательно сбрасывать конфиг приложения, иначе ошибка выпадает.
Evgeniy
Что за ошибка?
EN
Что за ошибка?
UnexpectedValueException There is no existing directory at "/home/user/Documents/Agent/work/718f8c5a9a206bb/storage/logs" and it could not be created: Permission denied Откуда-то появляется путь к моему агенту CI на локальной машине в качестве корня проекта. Откуда ларавель его берет - я не понимаю. Но сбрасываю конфиг и этой ошибки нет
EN
Образ я собираю в CI клиенте у себя на локальной машине
Evgeniy
Он кэширует конфиг
Evgeniy
Тебе надо кэш в общий сторадж перенести
Evgeniy
У тебя кэш в файлах
Evgeniy
При сборке ты копирует и кэш
Roman
Что за терминал такой?
Anonymous
Что за терминал такой?
Это не терминал а вскод
Roman
А понял
Anonymous
А понял
Но в zsh вроде есть расширение для докера
Anonymous
Хотя нужно наверное vim настраивать
Eugene1111
привет заранее простите за мои незнания (не создал еще ни одного контейнера но вот уже почти) подскажите пожалуйста мне нужно создать например 20 контейнеров из одного докерфайла но чтобы каждый раз назначались порты на другие типа -p 8000:8000(+1) точнее не создать а запустить
Eugene1111
А вопрос в чем?
что в черном ящике)))
Eugene1111
вопрос как это сделать
Eugene1111
чтобы создать 20 например контейнеров и каждый из них менял порты и еще всякие переменные
Eugene1111
автоматически
Eugene1111
точнее запустить
Eugene1111
ну неважно шобы оно работало в общем
Eugene1111
1 раз написать но чтобы 20 разных с разными некоторыми переменными было ну наппример порты имена пользователей
Eugene1111
и все в таком роде
Evgeniy
Ну ты можешь написать скрипт который будет брать рандомные значения и запускать контейнеры
Evgeniy
Способов масса
Evgeniy
Можешь для каждого из 20 задать параметры и запускать их
Eugene1111
мне не нужны рандомные мне нужны ${такие то} +1 в основном
Evgeniy
Ну заменяешь рандом на расчитанные
Eugene1111
аааааа
Eugene1111
понятно теперь
Eugene1111
сам бы не додумался
Eugene1111
вопрос был как это сделать
Eugene1111
если что))
Evgeniy
Обычно каждому задают свои параметры
Eugene1111
ну это же долго блин
Eugene1111
а так один раз нажал и всё
Evgeniy
можно например https://www.opennet.ru/docs/RUS/bash_scripting_guide/
Evgeniy
вопрос не имеет отношения к докеру
Evgeniy
ты можешь взять любой яп и сгенерировать скрипт запускающий то что тебе нужно
Evgeniy
можно сгенерировать не скрипт а конфиг чего нибудь (композа, swarm, куб и тд)
Eugene1111
вот например я пишу какой-то докер файл вот в том скрипте нужно менять имя пользователя LABEL nodename = 'SSE' ARG DEBIAN_FRONTEND=noninteractive ENV TZ=UTC RUN sudo apt-get update && sudo apt-get dist-upgrade -y && apt clean RUN curl https://install.l15.lukso.network | bash lukso start --node-name ${nodename}${counter++}
Eugene1111
вот так же оно не понимает?
Eugene1111
в самом конце
Evgeniy
у тебя выше есть слова FROM
Evgeniy
вот в этом FROM объявились перемеые окружения $nodename, $counter
Eugene1111
нет я без понятия вообще первый раз в жизни пытаюсь создать докерфайл и что-то докер
Eugene1111
пишу from что
Eugene1111
не сдавайся пожалуйста осталось совсем чуть-чуть)))
Eugene1111
я по-доброму если что
Eugene1111
без язвительности
Eugene1111
или чего там
Nat Fesenko
нет я без понятия вообще первый раз в жизни пытаюсь создать докерфайл и что-то докер
ты бы посмотрел хоть парочку видео с ютюба, у тебя бы минимум половина вопросов отпала. нельзя заставлять людей текстом обяснять элементарные вещи
Eugene1111
я читал мануал
Eugene1111
статьи на русском
Eugene1111
так что
Eugene1111
я не совсем охреневший
Eugene1111
а пытаюсь просто нателеграмить инфу
Eugene1111
кто сколько может ахаха
Evgeniy
когда ты билдишь докер файл ты создаешь образ образу можно задать параметры через аргумент (ARG) в процессе билда можно создать переменные окружения (ENV) которые можно использовать при билде или уже при запуске в итоге ты создал образ когда ты запускаешь образ создается контейнер которому доступны только ENV и ты можешь их переопределить если хочешь в остальном смотри офицальную доку
Nat Fesenko
я не совсем охреневший
не части, это флуд
Evgeniy
статьи на русском
начни с изучения на оригинальном языке
Evgeniy
изучение английского окупится
Eugene1111
оригинальный язык ахахах
Eugene1111
я знаю английский
Eugene1111
окупилось 250 тысяч лет назад хоть я и не платил ничего
Eugene1111
ахах
Eugene1111
спасибо
Eugene1111
большое
Eugene1111
атдуши ежже
Eugene1111
вот вам мороженка
Eugene1111
извините не обижайетсь не фантазируйте я по-доброму шутил
Eugene1111
еслишо
Eugene1111