Рамиль
14.07.2019
13:05:38
потому что я делаю COPY . .?
Maxim
14.07.2019
13:05:42
Рамиль
14.07.2019
13:06:01
а какой подход мне нужен?
Maxim
14.07.2019
13:07:28
потому что я делаю COPY . .?
вы устанавливаете пакеты при билде в образ, а вам нужно делать билд проекта в директории на хосте с помозью одного контейнера и запускать с помощью другого контейнера. ервый вам родит node_modules, а второй его запустит
Google
Рамиль
14.07.2019
13:08:21
есть какие нибудь примеры реализации?
не совсем так со слов понятно
Maxim
14.07.2019
13:10:06
по шагам:
1) docker run -it --rm -v ./:/workdir --name yarn node:8.11.0 yarn
2) docker-compose up -d
Martry
14.07.2019
13:10:18
Hello World!
Maxim
14.07.2019
13:11:32
Рамиль
14.07.2019
13:12:34
Martry
14.07.2019
13:13:13
Maxim
14.07.2019
13:13:31
Рамиль
14.07.2019
13:15:48
мне каждый раз придется у себя запускать сначала контейнер yarn, а потом еще и docker-compose up
ну я вроде думал докер служит для упрощения работы, а не усложнения
Maxim
14.07.2019
13:16:17
Google
Рамиль
14.07.2019
13:17:29
мне нужно будет это сделать один раз docker run -it --rm -v ./:/workdir --name yarn node:8.11.0 yarn?
Maxim
14.07.2019
13:18:40
для создания node_modules в директории проекта? - да
Рамиль
14.07.2019
13:19:23
то есть запускать это каждый раз когда я хочу установить зависимость?
Maxim
14.07.2019
13:20:38
Рамиль
14.07.2019
13:21:40
просто команда установки зависимости всегда разная. в ней могут быть указаны разные либы для установки, и для этого мне придется каждый раз все это делать через докер?
вам не кажется что это все усложняет работу разработчика?
придумываем дополнительную работу
Maxim
14.07.2019
13:22:46
docker run -it --rm -v ./:/workdir --name yarn node:8.11.0 yarn add lib1 lib2 lib3
сойдет?
Рамиль
14.07.2019
13:23:42
так может мне сразу у себя на хосте установить
без докера?
к чему эти условности?))
Maxim
14.07.2019
13:24:26
Рамиль
14.07.2019
13:24:42
тогда зачем нужен докер для разработчика?))
Maxim
14.07.2019
13:25:22
что бы не устанавливать на хост какой то софт не той версии
ildar
14.07.2019
13:25:38
Чтобы запускать приложения изолированно от остальной системы.
Рамиль
14.07.2019
13:26:00
а зачем запускать приложение изолированно от системы?
если я могу запускать в самой системе?
Maxim
14.07.2019
13:26:13
foi
14.07.2019
13:26:22
Рамиль
14.07.2019
13:26:58
ну тут уже начинается холивар))
Google
Maxim
14.07.2019
13:27:02
Рамиль
14.07.2019
13:27:07
я думаю на этом и остановимся))
спасибо всем кто помогал))
Maxim
14.07.2019
13:27:39
Рамиль
14.07.2019
13:27:41
@rttrttrtt тебе в особенности
Maxim
14.07.2019
13:28:54
Рамиль
14.07.2019
13:29:09
да стало ясней
Maxim
14.07.2019
13:42:12
да стало ясней
рекомендую создать два 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
14.07.2019
14:01:09
А сейчас придут утырки и будут рассказывать, что дев и прод - все одно и образы должны быть идентичны. Но .... Нет, не согласен. Все правильно советуете !
foi
14.07.2019
14:04:32
Maxim
14.07.2019
14:09:39
Никита
14.07.2019
14:56:59
Привет. Использую Docker for Mac, пытаюсь обратится к порту вне контейнера, указываю —net=host и пробую указывать адрес как host.docker.internal. Не пашет. Что делать?
Если более конкретно – подключаюсь к Постгресу, connection URL выглядит следующим образом
postgres://postgres:postgres@host.docker.internal:5432/dbname
Вне докера все ок
foi
14.07.2019
15:03:29
Никита
14.07.2019
15:03:55
docker run -p 8844:8181 --env-file=.env --net=host imagename
foi
14.07.2019
15:07:20
Никита
14.07.2019
15:07:52
Нашел решение – не указывать —net=host
Без этого работает
Google
Lain
14.07.2019
15:18:01
Как спуститься в меню grub без перезагрузки? Win10
Алексей
14.07.2019
15:21:04
Andrey
14.07.2019
15:38:47
ildar
14.07.2019
15:51:07
Никита
14.07.2019
15:53:48
Кстати, можно ли сделать так, чтобы запускался контейнер когда образ обновляется в репозитории?
Lucas
14.07.2019
15:56:08
Какая-то дичь. Уже скоро 2020 год, а в докере все еще нельзя в реплик моде получать реальный ip и если требуется добавить более чем один инстанс в хост моде, то вообще беда и печаль. В энтерпрайз версии это как-то решается?
Старый
14.07.2019
15:58:38
и тп костыли
Lucas
14.07.2019
15:59:20
У кубера ведь большой оверхед, а сворм в этом плане идеален, если бы не вышупомянутый недостаток
ildar
14.07.2019
15:59:53
Lucas
14.07.2019
16:00:30
На поддержание внутренних сервисов кубера требуется порядка трех лишних гигабайт памяти
Алексей
14.07.2019
16:01:00
Владимир
14.07.2019
16:32:11
Lucas
14.07.2019
16:34:06
Ну это да. Ну а что с ip делать в сворме?
Andrey
14.07.2019
17:48:41
Lucas
14.07.2019
17:50:21
Но вы даже не поинтересовались моими потребностями и какие ресурсы у меня в наличии ¯\_(ツ)_/¯
Понятное дело на корпоративном железе это пшик
Andrey
14.07.2019
17:51:00
Lucas
14.07.2019
17:53:05
Maxim
14.07.2019
18:01:22
Коллеги, подскажите какой из локальных k8s не требует hypervisor и может работать с docker для создания больше одного pods ?
Google
George
14.07.2019
18:06:39
или под мак?
Maxim
14.07.2019
18:07:52
Ни то ни другое не использую, даже не думал что есть что то под эти ОС
Может кто нибудь знает список доступных локальных k8s ? А там уже сам определю что подходит
Alex
14.07.2019
18:10:53
что значит "локальных k8s" ?
Эдуард
14.07.2019
18:11:31
Maxim
14.07.2019
18:12:22
Эдуард
14.07.2019
18:12:53
Maxim
14.07.2019
18:13:24
Daniil
14.07.2019
18:13:58
Парни, подскажите, как правильно делить разработку на dev и prod с использованием докера? Есть три типа:
1) Писать всё в dockerFile (as base, ... FROM base as development) и запускать с разными —target docker-compose)
2) Отдельно файлы docker.dev и docker.prod, но хз как красиво это разрулить в docker-compose файле
3) использовать docker-compose.ovveride,
какой наиболее предпочтителен?))
Alex
14.07.2019
18:14:02
а чем обычный docker-compose не подходит?
Daniil
14.07.2019
18:15:37
подходит, но я именно про грамотное разделение и запуска отдельного dockerfile
(только dockerfile варьируется от набора команда, docker-compose одинаковый и там, и там)
Alex
14.07.2019
18:16:49
George
14.07.2019
18:17:06
докер-компоуз - это не для продакшена
касательно настроек. Тебе никто не мешает вшить настройки внутрь контейнера, а снаружи их селектить передавая что-то типа -e ENV=prod или -e ENV=dev