Artem
Т.к. выношу в контейнер приложение а оно активно использует cron и вот есть сомнения, заранее спасибо :)
Max
Привет, можно ли как-то в докер файл "прокинуть" команду допустим с ENV, заевальюейтить и выполнить?
к примеру лежит в енв-е команда в виде строки yarn run build:prod1 - я хочу стащить её в докерфайле при билде и выполнить.
Как это лучше сделать?
Max
у меня два CI пайплайна с одним исходным кодом - разница должна быть только в этой проперти
Sergey
Sergey
export {{yourenv}}
и в енв файле его указать
Sergioss
можно
шутканул и люди терь думают что эт типа ответ
Sergey
Max
хотя спасибо) это уже погуглю
Max
а в энтрипоинте вы не можете скриптом прописать все что вы хотите?
боюсь что нет( да простят меня за большой кусок кода:
# build environment
FROM node:10.7.0-alpine as builder
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
ENV PATH /usr/src/app/node_modules/.bin:$PATH
COPY . /usr/src/app
RUN apk --no-cache add g++ gcc libgcc libstdc++ linux-headers make python
RUN npm install -g yarn
RUN yarn global add react-scripts
RUN yarn global add node-gyp
RUN yarn --pure-lockfile
RUN yarn
RUN yarn run build:imadeya-prod
# production environment
FROM nginx:alpine
COPY conf /etc/nginx
COPY --from=builder /usr/src/app/build /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
Max
по сути у меня будет менятся только "build:imadeya-prod"
Max
я раньше вообще через SED делал - заменял по патерну в докерфайле что мне нужно перед билдом и норм было=)
сейчас вот хочу по нормальному сделать
Ivan
Парни привет. Такой кейс, нужно сбилдить apk, в докере внутри образа в консоли я делаю ant debug теперь мне надо извлечь файл, как это лучше сделать
Ivan
есть какая-то штука типа, file = extractFromDocker("здесь script типа запускаем контейнер и генерим файл")
send(file, address); из кода чтоб файл получить, нагенерив его в контейнере
Brommie
привет, такой вопрос docker stack deploy какой сигнал шлёт существующим контейнерам, и его ловить в ентрипоинте? хочу мягко остановить обработчик очереди. спасибо
Николаич
Привет. Вопрос по докеру и БД.
Поднимаю Postgres в Docker контейнере, чтобы не ставить на комп.
Прокидываю volume в папку проекта, чтобы не потерять данные и не могу победить шо за дичь.
Когда пересобираю образ, то у контейнера нет прав на папку, которая волюм (с файлами БД).
Приходится каждый раз sudo chmod 777 -R ./data/postgres выполнять перед билдом.
Boris
Николаич
100% так и есть. А как нормальные пацаны с этим живут?
Boris
я бы попробовал создать в обоих системах пользователя postgres с жестко заданным userid одинаковым для системы хоста и контейнера (создание пользователя до начала установки Postgresql).
Boris
скорее всего есть решение лучше. не ставил postgresql в контейнер.
Andrey
Andrey
это id postgres пользователя
Денис
Денис
Николаич
Спасибо за советы, вечером попробую
Денис
Но хз зачем контейнер для постгри, реально
Денис
И так и так файлы на диске будут валяться
Денис
Просто отключил бы ему автостарт и всё
Денис
Boris
Всё равно странно.
Если данные нужно хранить, чем плох выделенный на всех сервер?
Или каждый людь будет после подъема контейнера еще и дамп с общими данными заливать?
Andrey
тем что его админить надо, это ж очевидно
Andrey
ну и общий доступ делать
Brommie
Так кто знает какой сигнал шлет docker stack deploy?
αιβεν
привет. как вы обычно билдите статик файлы (из ангуляров и реактов) для nginx?
То что я надумал это:
- 2-stage build: сначала алгуляр сбиблдить в образе ноды, а потому скопировать файлы в образ nginx. И это то что советуют в нете. Но тогда придется конфиг нжинкса (как они свызвается с беком, ссл и тд) хранить вместе с фронтом, а они логически не очень совместимы
- отдульно билдить нжинкс и фронт, и на стадии развертывания в компоузе прописать чтоб через дополнительный вольюм копировались файлы из одного контейнера в другой. Но после передеплоя, в том самом дополнительном вольюме остаются файлы старого релиза и они снова копируются в энжинкс
Dmytro 🇺🇦
Б.
подскажите плз как запустить контейнер программно ровно один раз, без использования docker-compose
То-есть, был бы у меня docker-compose я бы сделал docker-compose up -d в своих скриптах, и был бы уверен, что контейнер поднят, и ровно один раз.
Возможности использовать docker-compose нету. Есть только docker
Sergey
Ivan
docker run -d?
а это нормально, запустить контейнер ради одного действия и убить его потом?
twwlf
даже флаг --rm есть
Ivan
вот смотрите, я настроил сборку .apk файлов, передаю в контейнер zip архив с игрой, хочу просто сбилдить в контейнере.
Б.
Хм.. Так если я потом вызову повторно docker run -d у меня уже будет 2 инстанса
Sergey
twwlf
Ivan
ну оверхед типа на запуск
Ivan
я не знаю!
Б.
Ivan
twwlf
bind mount?
Sergey
Ivan
а можно из кода как-то получить сборку?
Sergey
я потом просто бинарник получаю и все
Ivan
--Lua
file = docker.runScript()
send(file, address);
Ivan
ну типа
Ivan
удобно было бы
Дурак из фильма
https://pastebin.com/agKUqmdn
Подскажите, плз, почему порты не экспозяца?
Анатолий
с чего вы взяли что не экспозяца?
Дурак из фильма
netstat их не показывает и подключение к ним не проходит. Думаю этого ддостатчно
Анатолий
на хост машине и не должно показываться
Дурак из фильма
Зачем тогда там пара портов указана?
Анатолий
это просто проброс
Дурак из фильма
0.0.0.0:8080->8080/tcp
Дурак из фильма
Ну вот, куда проброс?
Анатолий
с контейнера в хост машину
Дурак из фильма
Нууу, и почему тогда не подключиться к ним?
Анатолий
это уже вам виднее что там за сервис и почему он не дает подключатся к нему с хост машины
Дурак из фильма
Почему нетстат не показывает порта открытого?
Дурак из фильма
Так то я взял оракловый образ
Дурак из фильма
https://hub.docker.com/r/sath89/oracle-12c/
Дурак из фильма
Порт то открыт самим докером на хостовой системе. Значит должно показать.
Vegas
Если с хоста в контейнер напрямую подключаться, работает? В iptables есть правила dnat? Любой другой образ с паблишем портов работает?
Дурак из фильма
Странно, теперь открылся, когда я указал ентрипоинт с sqlками
Дурак из фильма
tcp6 0 0 :::8080 :::* LISTEN 6430/docker-proxy
и нетстат теперь отлично всё показывает
Дурак из фильма
Файрволл не может повлиять на нетстат