Yura
вариант
Безопасно ли это?
George
ну, вариантов концептуально два
George
либо через переменные окружения
George
либо через байнд маунт
George
оба варианта позволяют украсть реквизиты при наличии доступа к хосту
LEXASOFT
либо сразу код примонтировать)
Алексей
Всем привет. Вопрос. Есть докерфайл постгреса с оф. репозитория. В этом файле есть строки: EXPOSE 5432 CMD ["postgres"] Я хочу заюзать этот файл в своем докерфайле (FROM postgres:9.6-alpine) Нужно ли мне в моем докерфайле писать EXPOSE 5432 CMD ["postgres"] или EXPOSE "наследуется" от родительского образа из поля FROM?
Lev
Как получить IP хостовой машины изнутри докера? Или как воткнуть этот IP в docker-compose.yml extra_hosts (как воткнуть я знаю - через переменные окружения, но как найти этот IP на хостовой машине и воткнуть таки в переменную окружения) Или может у docker-compose есть нормальный встроенный инструмент?
hamper 𓅝
Как получить IP хостовой машины изнутри докера? Или как воткнуть этот IP в docker-compose.yml extra_hosts (как воткнуть я знаю - через переменные окружения, но как найти этот IP на хостовой машине и воткнуть таки в переменную окружения) Или может у docker-compose есть нормальный встроенный инструмент?
/sbin/ip route|awk '/default/ { print $3 }' Но он меняться может. Для докера на маках есть host.docker.internal, для винды тоже что-то было, в линуксы не завезли пока. https://docs.docker.com/docker-for-mac/networking/#i-want-to-connect-from-a-container-to-a-service-on-the-host
Lev
Вроде же gateway.docker.internal
Lev
Но ни то ни то не резолвится через host
Lev
Чтобы при разработке контейнеры могли цепляться к запущенному на хосте приложению
hamper 𓅝
Но ни то ни то не резолвится через host
Оно только под виндой и на маках работает.
Ильдар
https://docs.docker.com/network/host/ ?
Lev
зараза...
Lev
https://docs.docker.com/network/host/ ?
И чего будет? У них будут ip моей сети?
Lev
Откуда они их возьмут? С роутера?
Lev
Ну и... мне надо универсальное, у меня часть на винде разрабатывает, чать на линуксе, на маке вот один пришел
Ильдар
ну погугли)
Ильдар
https://stackoverflow.com/questions/24319662/from-inside-of-a-docker-container-how-do-i-connect-to-the-localhost-of-the-mach
Lev
Окей, я же могу на хостовой машине определить ее ip и повтыкать в окружение.
hamper 𓅝
У контейнера может меняться ip хоста.
hamper 𓅝
Динамически можно так определять /sbin/ip route|awk '/default/ { print $3 }'
Lev
Ну перед запуском докер-композа динамически определять и совать в окружение
Lev
Ок, на винде потом разбирусь как делать
Lev
спсб
Lev
ip addr show docker0 - на хосте определить его же адрес
Lev
А это вообще нормально сбея добавлять в группу докера на линуксе? Чтобы sudo не писать. Или не стоит этого делать?
Ильдар
Нормально https://docs.docker.com/install/linux/linux-postinstall/#manage-docker-as-a-non-root-user
Lev
"The docker group grants privileges equivalent to the root user." Это вот как то пугает
Lev
Нормально https://docs.docker.com/install/linux/linux-postinstall/#manage-docker-as-a-non-root-user
То есть мой пользователь получит права не рута, но похожие. Это ведь плохо?
Владислав
Что плохого в том, чтобы юзать докер без sudo?
Владислав
Ну, конечно, когда речь о локалке
Lev
хз... я не особо в этом шарю...
LEXASOFT
ну если юзер может запускать докер то он считай рут, достаточно примонтировать хостовые файлы и изменить их внутри контейнера
Lev
ну... не совсем. Это значит что чел знает пароль от рута. Но он не рут. И сам просто так без пароля не создаст тот же сокет
Alexander
Всем привет! Подскажите пожалуйста почему когда я делаю docker-compose exec контейнер npm install на линуксе, то файлы в подключенном томе создаются, но из под рута. На маке такая же команда создает из под текущего юзера
George
на маке докер ЧЕРЕЗ виртуалку
George
и оно маппит права ДРУГИМ способом
Alexander
как выкрутиться на линуксе?
George
зачем?
George
выкинь на помойку )
George
либо юзера поменяй в exec
George
типа gosu и полетел
Anonymous
как выкрутиться на линуксе?
Задать в compose для service user: ${userid}:${groupid}
George
mbp-gaal:~ gaal$ docker exec --help Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...] Run a command in a running container Options: -d, --detach Detached mode: run command in the background --detach-keys string Override the key sequence for detaching a container -e, --env list Set environment variables -i, --interactive Keep STDIN open even if not attached --privileged Give extended privileges to the command -t, --tty Allocate a pseudo-TTY -u, --user string Username or UID (format: <name|uid>[:<group|gid>]) -w, --workdir string Working directory inside the container
George
exec, кстати, принимает параметр от какого юзера запускать команду....
Alexander
user: "${UID}:${GID}"
Alexander
типа такого?
Alexander
https://dev.to/acro5piano/specifying-user-and-group-in-docker-i2e
Alexander
но это переменные окружения надо использовать. а можно как-то указать чтобы использовало текущего?
Ильдар
а как оно должно об этом догадаться?
Anonymous
user: "${UID}:${GID}"
Да только задать предварительно
Alexander
а как оно должно об этом догадаться?
Ну например $UID есть и без всякого экспорта как существующая переменная окружения. А вот с группой я пока не разобрался
Alexander
но в остальном все понятно, буду пробовать, спасибо!
Anonymous
но в остальном все понятно, буду пробовать, спасибо!
Только если что происходит при сборке Dockerfile то он все равно не из под этого юзера будет, надо build_args задавать
Anonymous
Важно ли для вас это хз
Alexander
нет, у меня докер для разработки используется.
Илья
господа, а подскажите как разруливать конфигурации многочисленные. допустим в гитлабе есть репозитории и у каждого в своей репе есть настройки, так называемые секретные переменные
Илья
и вот в каждый реп надо заходить настраивать, а если репозиториев много то это сложновато
Ильдар
докером?
Илья
нет, не докером а какие тулзы используются в связке с докером для управления конфигурациями
George
я не понимаю о чем речь
George
если нужно централизованное управление конфигурацией - берите консул
George
если нужно разлить по 100+ гитлаб репозиториям секретные переменные - это больше про что-то типа https://docs.ansible.com/ansible/latest/modules/gitlab_project_module.html?highlight=gitlab
George
еще хинт, что переменные можно на группы назначать
George
и они наследуются всеми проектами (т.е. репами) внутри группы
Илья
спасибо!
Olexander
всем привет. пишу в виме в контейнере, хочу иметь возможность копипастить в контейнер с клипборда мака, и из клипборда контейнера в маковский…есть возможность это сделать?
Olexander
клипбоард контейнера не связывается с хостом-маком
Varg
добрый день. получаю unauthorized: authentication required при docker push из контейнера, то же самое с хоста работает нормально. docker login говорит что все хорошо, ~/.docker/config.json одинаковые и там и там
Varg
в чем может быть причина? контейнер на centos7, хост на alpine3.9
Varg
репозиторий свой, proget
George
Докер машин ?
Varg
Деталей мало
unix socket докер хоста прокинут в контейнер, но вроде docker push делает сам клиент, а не демон?