inqfen
Нет, tty висело
inqfen
А он в то же вошёл после логина
Maxim
не подскажите как передавать env переменные в контейнер с фронтом?
Maxim
сейчас вот такой dockerfile FROM node:10-alpine AS front WORKDIR /opt/front ADD package.json . ADD yarn.lock . RUN yarn COPY . . RUN yarn build FROM nginx:1.15.5-alpine WORKDIR /usr/share/nginx/html COPY --from=front /opt/front/dist . EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] запускаю так docker run --env-file .env -p 4001:80 imaget:latest но энвы не подхватываются
Ильдар
Директивы ENV в Dockerfile забыл
Maxim
Директивы ENV в Dockerfile забыл
т.е надо сделать как-то так? ENV PARAM=${PARAM}?
Maxim
просто у меня бек нормально поднимается без этих директив, а вот с фронтом проблемы
Maxim
у меня там же два образа
George
И что ?
Maxim
первый с нодой и второй с nginx
George
Если тебе во время билда нужно - есть build-args
Maxim
в том то и дело, что нужно во время запуска
Maxim
чтобы не делать билды под разные окружения
George
Во время запуска - все правильно делаешь
Maxim
но во время запуска они не подставляются
George
Быть того не может
George
У всех подставляются, у тебя - нет. Попробуй руками через -e, а не через --env-file
Maxim
сейчас попробую
Maxim
и я сейчас запустил в дев режиме, и все энвы есть FROM node:10-alpine AS front WORKDIR /opt/front ADD package.json . ADD yarn.lock . RUN yarn COPY . . CMD ["yarn", "start:dev"]
Maxim
вот сейчас запустил, энвы в контейнере есть, а в приложении нет
Maxim
может оно все-такм не может их подставить в статику?
Maxim
которая получается после билда
George
Раздели проблемы.
George
В статику оно ничего не подставит
George
То что ты передаешь как env для nginx - это переменные для nginx
George
А не для yarn, node.js etc.
Maxim
а я хочу передать энвы для статики, чтобы url бека не зашивать в билд
Maxim
может можно энвам сделать дефолтный какой-то ключ, а потом делать replace?)
Maxim
уже после билда
George
Тебе тогда придется вызов nginx обернуть в docker-entrypoint.sh скрипт. И в нем пячить файлы статики
Maxim
Тебе тогда придется вызов nginx обернуть в docker-entrypoint.sh скрипт. И в нем пячить файлы статики
я такие варианты находил в гугле, но это казалось извращением каким-то. видимо это единственный вариант
George
Извращение - это статику менять после билда. Может просто в ноде запускать и не ломать голову ? Но тебе настолько большая гибкость тупо не нужна.
Maxim
наверное, просто тегами разделю дев - где можно менять и прод - где все зашито
Alex
Всем привет! Может кто в курсе как лучше сделать - хочу сохранить всю информацию которая в базе данных postgresql - на хостовой машине поднимаю контейнер с psql 11.3 и монтирую том (как показано ниже) - но при создании контейнера у меня всегда на хостовой машине свежая бд - то есть если я изменю информация в дб я получу на хостовой машине эти изменения - но если я пересоздам контейнер то все что было в ./volumes/postgresql/data все затреться app1-postgresql: container_name: app1-postgresql image: postgres:11.3 volumes: - ./volumes/postgresql/data:/var/lib/postgresql/data
George
нет
George
ты не прав
George
в случае удаления контейнера - база остается на месте
Alex
в случае удаления контейнера - база остается на месте
да - верно - на хостовой машине она остаеться - но если я опять перезапускаю контейнер то все стираеться - как бы сделать так что бы я подкидовал в контейнер всю бд которую и надо запустить
George
нет
George
у меня все окей
George
./volumes/postgresql/data - это куда указывает?
Alex
./volumes/postgresql/data - это куда указывает?
это на локальной машине - я в директории проекта создал ./volumes/postgresql/data
George
ну, поверь - ни у кого нет проблем
Alex
ну, поверь - ни у кого нет проблем
то есть сколько бы раз я не пересоздавал контейнер - то вся информация что в ./volumes/postgresql/data подкинеться в контейнер?
George
да
Alex
хмм - не
George
но если ты сделаешь app1-postgresql: container_name: app1-postgresql image: postgres:11.3 volumes: - NY_VOLUME:/var/lib/postgresql/data
George
то с docker-compose down -v у тебя все грохнется
George
в остальных случаях - останется
Alex
даже если я сделаю
Alex
docker rm -f $(docker ps -a -q)
Alex
docker rmi -f $(docker images -q)
Alex
все останеться?
George
да
Alex
да
да - спасибо - проверил - все ок
Alex
просто не знаю это нормальная практика psql запускать в контейнере или же лучше это делать на хостовой машине - в частности бэкенд я делаю в одном контейнере (всякие там npm install и т/д/ там же мне надо сделать команду bundle exec rake db:migrate) - вот не знаю как лучше поступить - вроде как в этом контейнере мне надо поставить postgresql-client-11 - в общем вся проблема в том что нужно сделать bundle exec rake db:migrate в контейнере в конечном итоге миграция должна упасть в бд
George
норм в контейнере делать
Andrei
вопрос можно ли в сворме сделать port-forward как в кубере?
George
имхо, ент
Andrei
очень не привычно пытаюсь сесть на сворм но это важная фича
George
зачем садиться на сворм?
George
если есть кубер?
Andrey
Сворм мертв ,не нужно засорять мозг
Andrei
я ток за ток мы переехали с ажура в яндекс
Andrei
в последнем кубер еще не готов а свой поднимать ну вообще нет желания
George
да чего там поднимать ) фупер-кубер-вжух
George
ну, как обычно
Andrei
)
Andrey
ну, как обычно
Именно так