magnoom
а допустимо ли делать как в статье написано, пункт A firewall that doesn’t smoosh Docker iptables rules ?
magnoom
или есть лучшие практики?
Konstantin
или есть лучшие практики?
ага, забить на фаервол на нодах вообще
magnoom
ну у меня на удаленном хосте cadvisor крутится, я не хочу его всему инету светить
Konstantin
ну у меня на удаленном хосте cadvisor крутится, я не хочу его всему инету светить
я юзаю либо приватные\шифрованые сети, либо ноды в DMZ за общим файерволом. Игрессом ещё можно рулить. Ибо кастомные правила в докере - боль
Kool
Можно в nginx через envsubst закостылить
https://github.com/keitaroinc/docker-nginx-reverse-proxy
Kool
похоже то что надо
Kool
а блин, его в докер хаб репах нет
Kool
не
Kool
придется в свою лить
Konstantin
придется в свою лить
ну да, docker push же рокетсайнс)
Konstantin
а вообще реализация гавно
Kool
ну да, docker push же рокетсайнс)
ну я просто лентяй
Konstantin
IP Хардкодить в "докерах" не лучшая идея, а домен - nginx не умеет изкоробки динамически резолвить
Kool
где хардкод
Kool
они пробрасываются через переменную окружения
Kool
вернее днс имя
Konstantin
ну вот с доменом не сильно рабочий вариант
Kool
рабочий
Kool
у меня сварм
Konstantin
рабочий
ок 👌🏿
Kool
ну в неумелых руках умирает )
Konstantin
скорее бы уже рисовать стали)
Kool
настроенный руками
Konstantin
как умирает)
Kool
попробую
Kool
раньше всегда nginx-ом деплоил
Konstantin
не осилил DFP? :)
Konstantin
он у меня в проде работал, хз что там у тебя не пошло
Andrei
Хай
Andrei
Кто-то юзал AWS Fargate
Andrei
??
Konstantin
Кто-то юзал AWS Fargate
это лучше в @devops_ru
Konstantin
тут и плюсы же, у меня прокси на воркерах тоже поднимались
Konstantin
+ там суть чуть другая, там ещё DFM подключается
Konstantin
https://monitor.dockerflow.com
Petrovich
Я запустил в какой-то папке контейнер через docker-compose и забыл
Petrovich
как мне сделать down на него?
Petrovich
если я не помню папку
Konstantin
маунты есть? глянь путь
Konstantin
или в inspect контейнера, может какая инфа
Petrovich
мде, как же глупо оказалось
Petrovich
docker rm id
Konstantin
docker rm id
нене, такое не всегда работает + композ не только контейнеры создаёт
Petrovich
да на остальное как-то насрать, думаю этого хватит
Petrovich
спасибо
Konstantin
если restart: always, то docker rm - не катит
LEXASOFT
а если наоборот потреял yml как его восстоновить?
Artem
Ребят, как в docker-compose прокинуть папку с хоста внутрь контейнера, чтобы в контейнере были права на запись в эту папку?
Artem
- ./data:/home/jarvis/data:rw так?
Artem
не работает так(
Artem
да, приложение пишет, что нет доступа и контейнер постоянно рестартует
Artem
если делаю без маунта, то всё работает
Artem
но надо как-то сохранять эту папку на самом хосту
Konstantin
Права на папку есть? Приложение не от рута наверное
Artem
не от рута, да, но папку в хоуме сделал юзера, под которым контейнер работает
Artem
или права на самом хосту?
Konstantin
не от рута, да, но папку в хоуме сделал юзера, под которым контейнер работает
Оно не так работает, контейнеры не от твоего юзера запускаются, да и внутри свой юзер
Konstantin
uid на хосте и в контейнере должны совпадать в твоём случае
rusment
надо в композ добавить user: username - https://stackoverflow.com/questions/49916803/docker-compose-make-shared-volume-writable-permission-denied
Artem
вот так выглядит сам докерфайл
Artem
FROM java:8 MAINTAINER Artem Kozlov <kozlov.artem@gmail.com> RUN useradd -c 'Jarvis user' -m -d /home/jarvis -s /bin/bash jarvis RUN mkdir -p /opt/satt/data RUN chown -R jarvis:jarvis /opt/satt/ WORKDIR /opt/csat/ USER jarvis COPY *.jar app.jar ENTRYPOINT exec java $JAVA_OPTS -jar app.jar
Artem
вот композ
Artem
version: '2' services: tw-cesar-key: image: tw-manager:${TAG_ID} restart: always container_name: tw-manager env_file: ./docker.env volumes: - ./application.properties:/opt/satt/application.properties - ./data:/home/jarvis/data
Artem
сопаставить уид с любым юзером на хосте?
Artem
Evgeniy
доброго времени суток, подскажите проект собирается от случайного пользователя, на этапе билда в контейнерах создаю пользователей с заданными uid, gid. Обхожу исходники и проставляю необходимые права. Если поднимаю докер для разработки, то в конфиге указываю uid моего пользователя и все хорошо, могу редактировать но приходиться писать много инструкций в докерфайлах для настройки: создание пользователей, определение прав доступа. Особенно весело когда делаешь всё на unixsocket может я что-то то не правильно делаю? и есть способы легче?
Evgeniy
Покажи докерфайл
https://pastebin.com/ZvMcMmc3
Evgeniy
вот эти блоки приходиться дублировать во всех контейнерах в том или ином виде # ползователь нашего проекта, которому будут принадлежать исходники RUN addgroup --system --gid ${PROJECT_GROUP_ID} ${PROJECT_NAME} && \ adduser --uid ${PROJECT_USER_ID} --system --disabled-login --disabled-password --no-create-home --gid ${PROJECT_GROUP_ID} ${PROJECT_NAME} \ && adduser www-data ${PROJECT_NAME} # для unix-сокета между php-fpm и nginx RUN addgroup --gid ${UNIX_SOCKET_PHP_FPM_USER_ID} --system ${UNIX_SOCKET_PHP_FPM_USERNAME} && \ adduser --uid ${UNIX_SOCKET_PHP_FPM_GROUP_ID} --system --disabled-login --disabled-password --no-create-home --gid ${UNIX_SOCKET_PHP_FPM_GROUP_ID} ${UNIX_SOCKET_PHP_FPM_USERNAME} \ && adduser www-data ${UNIX_SOCKET_PHP_FPM_USERNAME}
Evgeniy
"в том или ином" - допустим наладить взаимодействие сервисов по unixsocket надо во всех контейнерах, которые используют сервис описывать права на sock файл