Tadeusz
ну это не важно когда, сам факт — геморроя хватит надолго 🙂
Tadeusz
лол, кто ж тебя заставяет в 21-м веке сидеть в офисе?
Tadeusz
это ж не принтеры чинить
Pavel
Tadeusz
дома нет?)
Pavel
а халява...
Tadeusz
дык застолье же
Petr
Petr
"локальной машине собираю статику и потом только билжу отбраз. Далее nginx отдает статику, а все остальное на рельсу идет." - вот тут не понятно, образ один или всё-таки два? И в каком образе что в итоге?
Gaiaz
вот такой вопрос:
в volumes пишет как хост машина, так и контейнеры,
как добиться одинаковых linux-пользователей и групп?
или в этом нет необходимости?
Alexander
Petr
🦁Владимир🏡
Привет. Можете показать на готовый dockerfile с завернутым приложением на node.js
🦁Владимир🏡
?
Anton
смотря для какого приложения
🦁Владимир🏡
http server
🦁Владимир🏡
FROM node:9.3.0
# Create app directory
WORKDIR /home/vladimir/Documents/Repo
# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./
RUN npm install
# If you are building your code for production
# RUN npm install —only=production
# Bundle app source
COPY . .
EXPOSE 8080
CMD [ "npm", "start" ]
Anton
Anton
и пробрасывай каталог при запуске контейнера
Anton
docker run -v path:/home/vladimir/Documents/Repo -p 8080:8080 imagename
🦁Владимир🏡
🦁Владимир🏡
WORKDIR это директория в нутри контейнера?
Petr
Ihor
У меня в Dockerfile волюм прописан который шарится:
ENV INSTALL_PATH /app
RUN mkdir -p $INSTALL_PATH
WORKDIR $INSTALL_PATH
VOLUME ["$INSTALL_PATH"]
Anton
Ihor
У меня в /app весь код который пробрасывается в контейнер nginx. Что может мне ещё понадобиться монтировать?
Petr
Инструкция VOLUME внутри Dockerfile - вот чего мне не хватало в этой головоломке, теперь многое становится понятно
Andrey
Коллеги, как правильно разрешить запущенному контейнеру доступ к определенным портам хост-машины? (через docker-compose)
Нашел костыль "docker.for.win.localhost" с которым оно кое-как шевелится под виндой, но ни разу не кросс-платформенно же.
petyappetrov
о, я слушаю ваши подкасты
Maxim
Maxim
но вообще это в сторону сетей надо смотреть. Вроде через --net="bridge" и проброса конкретных портов может заработать. Но это не точно)
Maxim
проще, конечно, на хостовой машине сервисы положить в другие контейнеры, в docker сделать отдельную для них сеть и тогда все увидят что надо)
Andrey
пробовал network_mode: "host" (вроде аналог —net="host" для компоуза) но тогда nginx proxy_pass сходу не подцепился :(
Andrey
а вот через мэджикворд docker.for.win.localhost в прокси_пассе рабоатет "на ура" без всяких хост моде, но только под виндой, естесно :)
paulwinex
Приветы
Возможно не в тему, но я пытаюсь тестить проект в докере с разных компов и столкнулся с проблемкой.
Докер крутится на виртуалке ubuntu в vmware. С локального хоста я захожу на виртуалку норм, но с других компов в локальной сети не получается зайти. Когда в виртуалке сеть настроена как NAT то оно и понятно что не получится. Но с Bridged тож не получается, тогда всё совсем ломаета и нет нигде ни инета ни связи.
Может кто подсказать как виртуалку расшарить в локальную сеть?
twwlf
плохо настраиваешь бридж
twwlf
с NAT тоже можно настроить
paulwinex
на хосте винда кстати
paulwinex
вот не получилось. там надо чтото внучную всякие DNS пробивать?
paulwinex
подскажете что тыкнуть?
twwlf
в гугл про vmware port forwarding
paulwinex
ок
Igor
🦁Владимир🏡
🦁Владимир🏡
без модулей
Igor
Я бы хотел положить только собранное приложение и запустить
У нас используется Angular 4+
Процесс вышел следующим образом:
1) Докер собирается
2) Запускается на swarm там в entrypoint прописано что бы npm install прошел и другие моменты
3) Монтируем в nginx только dist (в нашем случае иначе папка называется\)
🦁Владимир🏡
Макс
Здраствуйте, подскажите, как обычно решаются конфликты портов в docker-compose development среде? Запущена например у меня база постгрес локально, и в докере есть база. При старте ругается на порт. Одно решение мапить через docker-compose порты, но приходится придумывать в случае если запущены несколько инстансов docker-compose окружений в фоне. Есть ли лучшее решение?
Aleksandr
Ihor
Igor
Igor
Ihor
Очень жаль. А как именно вы передаете инфу? Я просто сейчас билджу два образа, один nginx с уже собраной статикой внутри и один с беком.
Ihor
И это мне ужастно не нравится
Igor
Вы тоже используете docker stack deploy?
Ihor
Да
Igor
в volumes:
volumes:
images: {}
В сервисе (допустим backend):
volumes:
- images:/var/....../images:rw
В nginx:
volumes:
- images:/var/www/..../web/images:rw
данные записываются через entrypoint
Igor
Это то что в docker-compose...yml
Igor
У нас просто еще все с autobuild делал
Igor
#!/bin/sh
set -e
if [ "${1#-}" != "$1" ]; then
set — npm "$@"
fi
if [ "$1" = 'npm' ]; then
chown -R www-data:www-data .
echo "Execute npm install..."
npm install
echo "Execute npm cache clean"
npm cache clean —force
echo "Execute npm run build"
npm run build
fi
exec "$@" "run" "prod"
Igor
это entrypoint пример для node
Igor
соответственно в Dockerfile
ENTRYPOINT ["frontend-entrypoint.sh"]
CMD ["npm"]
Igor
Да
Надеюсь не очень сумбурно вышло +_+
Ihor
Получается вы один волюм в два сервиса маунтите?
Igor
это конечно в случае с Angular.
npm run build -> там чуть перенастроен.
Igor
Можно было заморочиться и в volume хранить версионность, но нам хватает поддерживать версии продакшена и девелоп серверов на базе image:tag
Ihor
Понял, спасибо. Тут минус получается в том, что нужно nginx и бек гвоздями прибивать к ноде
Igor
зачем?
Ihor
Волюм же храниться только локально
Igor
не обязательно
Ihor
Вы волюмы шарите?