Рамиль
да
Maxim
да
вас не смущает что вы делаете билд для prod ?
Рамиль
ну он же не запускается, потому что у меня в docker-compose определен command
Maxim
и что означает "синхронизировать?"
Рамиль
блин
Рамиль
я же уже объяснял
Maxim
я же уже объяснял
я сообщил что не читал вашу переписку
Рамиль
вы вместо того что бы линчевать мой конфиг, сказали бы что нужно делать
Рамиль
как?
Рамиль
если вы не знаете как, зачем пишете тогда?
Maxim
как?
расскажите что вы пытаетесь сделать, из ваших конфигов не совсем ясно что пытаетесь решить
Maxim
если вы не знаете как, зачем пишете тогда?
я не знаю что вы пытаетесь решить, но знаю как это работает
Рамиль
я хочу поднять у себя окружение для разработки. и что бы моя IDE нормально реагировала на зависимости из папки node_modules. но она на моем хосте пуста
Рамиль
она вот так ругается
Maxim
я хочу поднять у себя окружение для разработки. и что бы моя IDE нормально реагировала на зависимости из папки node_modules. но она на моем хосте пуста
вы хотите получить в ответ готовое решение? или готовы решать проблему совместно и разобраться в сути проблемы?
Рамиль
ну естественно я хочу разобраться
Рамиль
я же задаю конкретные вопросы
Maxim
она вот так ругается
это не директория node_modules, верно? скриншотик директории
Рамиль
это директория
Рамиль
Maxim
это директория
директория это там где файлы, слева панелька от кода
Рамиль
ну не держите меня за дурака))
Maxim
и вы здесь хотите видеть то что у вас собралось в образе при его билде, верно?
Рамиль
не в образе а в контейнере
Рамиль
но я понял о чем вы
Рамиль
да верно
Maxim
Dockerfile создает образ, контенер на его основе работает
Maxim
вы не увидите файлы на хосте при таком подходе
Рамиль
почему? что мешает?
Рамиль
потому что я делаю COPY . .?
Maxim
почему? что мешает?
мешает логика работы Docker будь он неладен
Рамиль
а какой подход мне нужен?
Maxim
потому что я делаю COPY . .?
вы устанавливаете пакеты при билде в образ, а вам нужно делать билд проекта в директории на хосте с помозью одного контейнера и запускать с помощью другого контейнера. ервый вам родит node_modules, а второй его запустит
Рамиль
есть какие нибудь примеры реализации?
Рамиль
не совсем так со слов понятно
Maxim
по шагам: 1) docker run -it --rm -v ./:/workdir --name yarn node:8.11.0 yarn 2) docker-compose up -d
Anonymous
Hello World!
Maxim
Hello World!
where is Doc? Martry
Maxim
не совсем так со слов понятно
и Dockerfile вам бы для dev нужен чутка другой, не такой как для prod
Anonymous
where is Doc? Martry
He's back to the future
Maxim
выглядит как костыль
поделитесь вашими мыслями почему вы так думаете?
Рамиль
мне каждый раз придется у себя запускать сначала контейнер yarn, а потом еще и docker-compose up
Рамиль
ну я вроде думал докер служит для упрощения работы, а не усложнения
Рамиль
мне нужно будет это сделать один раз docker run -it --rm -v ./:/workdir --name yarn node:8.11.0 yarn?
Maxim
для создания node_modules в директории проекта? - да
Рамиль
то есть запускать это каждый раз когда я хочу установить зависимость?
Maxim
то есть запускать это каждый раз когда я хочу установить зависимость?
а как вы себе представляете установку зависимостей без команды "установи зависимости" ?
Рамиль
просто команда установки зависимости всегда разная. в ней могут быть указаны разные либы для установки, и для этого мне придется каждый раз все это делать через докер?
Рамиль
вам не кажется что это все усложняет работу разработчика?
Рамиль
придумываем дополнительную работу
Maxim
docker run -it --rm -v ./:/workdir --name yarn node:8.11.0 yarn add lib1 lib2 lib3 сойдет?
Рамиль
так может мне сразу у себя на хосте установить
Рамиль
без докера?
Рамиль
к чему эти условности?))
Maxim
к чему эти условности?))
религия не запрещает, можно и на хосте установить, тоже будет работать
Рамиль
тогда зачем нужен докер для разработчика?))
Maxim
что бы не устанавливать на хост какой то софт не той версии
Ильдар
Чтобы запускать приложения изолированно от остальной системы.
Рамиль
а зачем запускать приложение изолированно от системы?
Рамиль
если я могу запускать в самой системе?
Maxim
Anonymous
тогда зачем нужен докер для разработчика?))
Есть Легаси ПО всякое на с++, которому нужны всякые изысканные девел пакейджсы, что замучаешься под каждый дистр подбирать
Рамиль
ну тут уже начинается холивар))
Рамиль
я думаю на этом и остановимся))
Рамиль
спасибо всем кто помогал))
Maxim
я думаю на этом и остановимся))
точно, остановитесь на этом и продолжайте в том направлении где лучше у вас получается
Рамиль
@rttrttrtt тебе в особенности
Maxim
@rttrttrtt тебе в особенности
незачто, надеюсь у меня получилось помочь вам разобраться
Рамиль
да стало ясней
Maxim
да стало ясней
рекомендую создать два Dockerfile для вашей node.js 1) для dev, например вот такой: FROM node:12-alpine ENV NODE_ENV development # Set a working directory WORKDIR /var/www/api 2) для prod, он у вас уже есть. тот что для dev используйте и для запуска приложения и для установки зависимостей, в вашей IDE можно настроить External Tools для выполнения этой команды доступной под правым счелчком мышки, будет удобно. Но религией не запрещено устанавливать на хост приложения и использовать эти приложения, главное что бы у вас не было проблем с запуском на prod вашего кода, остальное - не так важно ;)
George
А сейчас придут утырки и будут рассказывать, что дев и прод - все одно и образы должны быть идентичны. Но .... Нет, не согласен. Все правильно советуете !
Maxim
)) вот так случайно можно и truncate продакшн базы сделать вместо тестовой
Для начала пусть хотя бы с двумя научится рулить, а потом уже все остальное ;)