⁠M̶̅a̶̅p̶̅Ҟ̶̅ ²·⁰
Всем привет!
⁠M̶̅a̶̅p̶̅Ҟ̶̅ ²·⁰
такой вопрос: можно ли как-то сделать чтобы перед pull с докерхаба была какая-то проверка на подтверждение лицензии? Задача: сделать так, чтобы пользователи могли выкачивать новые образа, только если у них есть лицензия.
⁠M̶̅a̶̅p̶̅Ҟ̶̅ ²·⁰
ну у меня есть контейнер - я хочу чтобы при pull делался запрос к контейнеру БД, доставался uuid и делался POST запрос на сервер лицензирования - он возвращает 200 заголовок, если лицензия на обновление приложения у юзера есть.
⁠M̶̅a̶̅p̶̅Ҟ̶̅ ²·⁰
он и так в приватном
Sergey
то что ты хочешь - зависит от твоей разработки, а не от докера
Sergey
я не понимаю зачем ты задаешь вопрос тут
⁠M̶̅a̶̅p̶̅Ҟ̶̅ ²·⁰
ну очевидно, что я могу сделать обновление програмно, чтобы изнутри контейнера при наличии лицензии запускался docker-compose pull. Но что мешает юзеру зайти на хостмашину, остановить контейнер и сделать docker-compose pull. Смысл вопроса в том, можно ли назначить предусловие
Sergey
ну очевидно, что я могу сделать обновление програмно, чтобы изнутри контейнера при наличии лицензии запускался docker-compose pull. Но что мешает юзеру зайти на хостмашину, остановить контейнер и сделать docker-compose pull. Смысл вопроса в том, можно ли назначить предусловие
есть идея, что тебе нужно собрать в БД VIP-таблицу юзеров, чтобы сохранялось условие юзер прошел авторизацию, у него есть SSH ключ до машины, где он будет пользоваться докером, и у этого же юзера должны быть права на приватную репу
Sergey
допустим он "купил прем-аккаунт", ему выдался ключ до машины и права на приватный репозиторий
⁠M̶̅a̶̅p̶̅Ҟ̶̅ ²·⁰
Sergey
значит тебе нужен сервис который будет базироваться на докер-CRI, и интегрированый с твоим приложением может все таки есть другие способы? а эти машины в одной локальной сети?
⁠M̶̅a̶̅p̶̅Ҟ̶̅ ²·⁰
нет
Sergey
нет
а почему бы просто не затрагивать хост машину и права на нее, а просто выдавать ключи до реджистри? мол пройди авторизацию на сайте, тебе придет ключ на почту, ты с ним получишь доступ до приватного
⁠M̶̅a̶̅p̶̅Ҟ̶̅ ²·⁰
потому что надо обрубать доступ к обновлениям мо истечению лицензии
Dmitry
потому что надо обрубать доступ к обновлениям мо истечению лицензии
ну так при слете авторизации доступа к registry не будет
⁠M̶̅a̶̅p̶̅Ҟ̶̅ ²·⁰
а разве у докерхаба есть апишка чтобы добавлять юзеров в репу ?
⁠M̶̅a̶̅p̶̅Ҟ̶̅ ²·⁰
я вот роюсб 3й час, пока не нашел
Dmitry
Nexus, Artifactory, AWS ECR
⁠M̶̅a̶̅p̶̅Ҟ̶̅ ²·⁰
Не?
ну вот пока не понятен принцип, надо подумать. Ты предлагаешь поднять свой registry и на основе его API добавлять юзера и удалять его по истечению лицензии ?
⁠M̶̅a̶̅p̶̅Ҟ̶̅ ²·⁰
Да.
а с гитлабом такая тема прокатит?
Dmitry
Юзеров придётся заводить чисто для registry
Dmitry
⁠M̶̅a̶̅p̶̅Ҟ̶̅ ²·⁰
много
Kyrylo
Ну с гитлабом работать по REST нет проблем
Kyrylo
Так что очень костыльно
Kyrylo
Но можно
bebebe
Ну с гитлабом работать по REST нет проблем
https://python-gitlab.readthedocs.io/en/stable/cli.html
bebebe
много
можно установить registry, перед нем поставить nginx с basic-auth и backend ldap'a
bebebe
и не надо будет заводить кучу пользователей (если у вас конечно ldap есть)
bebebe
registry умеет подхватывать basic-auth и разруливать
Кылыч
# Set nginx base image FROM nginx:stable-alpine # Copy custom configuration file from the current directory COPY nginx.conf /etc/nginx/nginx.conf RUN chmod 777 -R /usr/share/nginx/html RUN chown -R nginx:nginx /usr/share/nginx/html COPY dist/* /usr/share/nginx/html/ CMD ["nginx", "-g", "daemon off;"] поднимаю докер /usr/share/nginx/html/ остается пустой
Кылыч
помогите ребят
artb1sh
Права на волум?
Кылыч
Права на волум?
это в композ файле еще один отдельный волум для нжинкса что-ли делать?
artb1sh
Там копи не проходит?
Кылыч
COPY nginx.conf /etc/nginx/nginx.conf это строка то пашет. а вот эта нет COPY dist/* /usr/share/nginx/html/
Andrey
а что не нравится?
Кылыч
а что не нравится?
прикол в том что после запуска контейнера содержимое этих диров не сохраняется
Andrey
не может такого быть
Andrey
запускаешь как?
Кылыч
https://gist.github.com/asankulov/36d6ccebc6cff54406ba58f7d6b1b6df
Кылыч
https://gist.github.com/asankulov/f0dffe3735b0ec9ea3a892d970792256
Andrey
так ты поверх ../html монтируешь файло другое
Кылыч
https://gist.github.com/asankulov/76b5517303c24570354cb365ddff9da7
Andrey
если у тебя там уже есть файлы, зачем тебе volume?
Andrey
убери 36-37 из docker-compose.yml и будут у тебя файлы
Кылыч
точно
Danya
Добрый день, кто нибудь поднимал связку Phalcon-php-fpm, mongo, nginx?
heavycharged
Ребятки, подскажите, докер умеет вотчить за файлами которые примонтированы. Если что, задача такая: чтобы nodejs смотрел за файлами (fsnotify) и выполнял задачи. Ну а сами файлы будут редактироваться с реальной машины. Это все для разработки делается.
Эмин
и да - докер будет синхронизировать волюм
heavycharged
и да - докер будет синхронизировать волюм
что бы это могло для меня значить?
Эмин
ответ на ваш вопрос
heavycharged
это не к докеру вопрос а к приложению внутри
а помоему к докеру, ведь если файл изменен из вне, notify может не сработать? по крайней мере vagrant + shared folders не видит измененные файлы.
heavycharged
ладно, сейчас попробую сделать.
heavycharged
понаблюдаю.
arts
На линуксах будет работать
heavycharged
все работает! спасибо!
little big
ребята, подскажите пожалуйста, имеется https://gist.github.com/VProgNet/1ce2fb68dbc854a11f44d9c8139e9c1d для поднятия efk-стека. Как мне в другом приложении приконнектиться к нему? пишу вот такое: https://gist.github.com/VProgNet/2ce5957017f0e11c317188099b8693bb говорит, что нет драйвреа fluentd. Пытаюсь поднять вызовом двух независимых docker-compose
Nikita
localhost это не вашего хоста а сети докера
Nikita
Поменяйте localhost на имя контейнера
little big
Поменяйте localhost на имя контейнера
добавил container_name: fluentd_container и поменял localhost на fluentd_container выдает такую вот ошибку: Cannot start service mongodb: failed to initialize logging driver: dial tcp: lookup fluentd_container on 127.0.0.53:53: server misbehaving
little big
мне придется поднимать dns ?
Konstantin
мне придется поднимать dns ?
Почитай как работает встроенный днс, там всё есть
little big
прописал напрямую ip. Вроде приконнектилось. Осталось узнать, как зарезолвить имя контейнера в его ip в composer.yml
Nikita
Вы не поняли, нужно добавлять имя сервиса прописанного в в docker-compose. Либо добавить alias: - youdomain
little big
Вы не поняли, нужно добавлять имя сервиса прописанного в в docker-compose. Либо добавить alias: - youdomain
пробовал просто fluentd, выдает ту же ошибку. Сейчас прочитаю про alias. Спасибо
Nikita
а зачем вам 2 docker-compose?
Konstantin