@docker_ru

Страница 1226 из 1375
Sergey
12.05.2019
12:14:10
Если есть рут, то приплыли
если есть рут - то да, приплыли. потому этот вариант надо рассматривать последним с точки зрения рисков (там по другому вопросы решаются)

есть другие проблемы - представь что у тебя вротпресс какой в контейнере или еще какое мракобесие. Или недоразработчик оставил какую-то отладочную информацию. И прочее. И секреты ты в переменных окружения хранишь. Если токен для волта там - то у тебя обычно доступ на внешку к апишке волта нету. Потому токен (который ты должен раз в недельку ротацию делать) экспоузить не так критично. А вот остальные секреты - это уже другое. Ну и в целом я бы как первый пункт чеклиста делал бы "отрезать доступ с внешки в внутренним ресурсам типа базы"

Google
Sergey
12.05.2019
12:17:32
ну то есть к вопросу управления секретами стоит возвращаться когда ты уже знаешь как можно к ним подобраться.

и какие риски если вдруг заэкспоузят пароль от твоей базы. Если помимо секретов ты и остальные вещи нормально делаешь - то риски от экспоуза таких данных низки

а вот если у тебя там какие-нибудь секретные ключи для работы с... хз... секретный ключь от биткойн кошелька, токены от всяких сэндгридов/мэйлганов и прочее... все что можно заюзать отдельно и получить доступ из вне. тут надо уже запариваться с секретами. Опять же, с точки зрения рисков (а тут риск эксптуатации уязвомисотей приложения выше чем доступ к контейнеру, при этом даже риск выполнениия произвольного кода не столь высок) надо смотреть что куда прятать и что куда ложить можно.

а там дальше уже есть вопрос кому внутри команды можно видеть секреты, как их хранить (тут опять же волт, git crypt и прочее), как их пробрасывать и т.д. Это все уже отдельный вопрос и я полагаю что в основном это интересует @dmvw34 . Возможно я не прав но тогда вопрос составлен неверно

Dmitry
12.05.2019
12:33:35
В данный момент меня интересует передача в контейнер данных подключения к БД и генерация конфига.

Alexander
12.05.2019
13:24:03
Привет. Вопрос от почти новичка. Вот есть гитлаб. Есть у него раннер на шелле. На самом раннере установлен и движок докера и даже компоуз. Есть пайплайн гитлаба, в котором он подключается к этому раннеру и пытается запустить команду docker build с тегом и путем. Но в логах неудачной джобы пишет, что не может найти путь к докерфайлу. В гит-репозитории докерфайл лежит относительно gitlab-ci.yaml в папке /src/ui/Dockerfile. Что-то как не пишу я строку с билдом, он все никак этот файл не видит. Что я делаю не так? Или мне надо на раннер его копирнуть через cp?

George
12.05.2019
13:28:09
- pwd - ls -la - cd ./src/ui - docker build

Или

- docker build -f ./src/ui/Dockerfile ./src/ui

Andrey
12.05.2019
13:29:52
- docker build -f ./src/ui/Dockerfile ./src/ui
А это нормально так делать - https://t.me/docker_ru/122514

я про докер файл

Google
Andrey
12.05.2019
13:30:06
в гите

ildar
12.05.2019
13:37:55
А это нормально так делать - https://t.me/docker_ru/122514
В смысле? Докерфайл не в корне?

George
12.05.2019
13:38:20
Вообще нефиг корень проекта засорять

Alexander
12.05.2019
13:46:10
В общем решилось через две строчки. Лол, но pwd мне подсказал, что не так. Cp ./src/ui/Dockerfile . Docker build -t ui .

А так подкаталогов, как и докерфайлов много. Они все отдельно, дабы не засорять корень(мне показалось это ок)

Nikolay
12.05.2019
14:57:44
Подскажите пожалуйста, volume прокидываются во время билда образа или же во время старта контейнера?

George
12.05.2019
14:58:11
во время старта контейнера

Nikolay
12.05.2019
14:58:48
Nikolay
12.05.2019
15:01:48
Существует ли какой то способ автоматизированно контролировать контейнеры? Через апи к примеру запускать новый контейнер с нужными аргументами, останавливать и т.п. Так же хранить инфу, запускался ли контейнер с данными аргументами или нет

Или же что то своё надо писать?

Vadim
12.05.2019
15:02:53
кубернейтс?

Данила
12.05.2019
15:04:42
Или же что то своё надо писать?
Если хочется - пишите своё, но готовые решения, вроде kubernetes или docker swarm, есть

Nikolay
12.05.2019
15:06:05
Просто возможностей не знаю. Главная задачка - динамично поднимать новые контейнеры с динамичными аргументами, затем о каждом хранить инфу, даже если он остановлен и если надо запускать заного. Пример - под каждого пользователя будет запускаться свой контейнер.

Данила
12.05.2019
15:07:12
Ну, используйте kubernetes

Nikolay
12.05.2019
15:07:15
То есть если нет инфы о контейнере остановленном/запущенном, то создать новый конфиг для его запуска ну и по условиям запускать и останавливать его

Ну, используйте kubernetes
Ох, страшно туда лезть)

Google
George
12.05.2019
15:07:36
ну, автоматизацию запуска - я предложил

для остального - да, к сожалению, кубернетес. Или мезос-номад

Nikolay
12.05.2019
15:08:04
ну, автоматизацию запуска - я предложил
спасибо, буду гуглить эти варианты, смотреть какой подходит

Данила
12.05.2019
15:08:47
для остального - да, к сожалению, кубернетес. Или мезос-номад
Я вот планирую свой маленький костыль написать (без хранения информации о том, работает контейнер или остановлен)

Nikolay
12.05.2019
15:09:53
Я вот планирую свой маленький костыль написать (без хранения информации о том, работает контейнер или остановлен)
У меня условие примерно такое. Если пользователь в сети, то нужно запустить для него его уникальный контейнер. Если уходит в оффлайн, то остановить этот контейнер и сохранить о нём инфу и если пользователь вернулся, то запустить его же

Nikolay
12.05.2019
15:10:40
В сети, где
Есть общая точка входа скажем так.

Основной докер контейнер

Внутри которого крутится приложение, которое будет детектить онлайн/оффлайн пользователя

Данила
12.05.2019
15:12:01
Внутри которого крутится приложение, которое будет детектить онлайн/оффлайн пользователя
Ну так напишите приложение, которое это будет делать (детектить, запускать/останавливать контейнер через API Swarm`a или Kubernetes`а)

Данила
12.05.2019
15:13:03
Docker Swarm нативный, да и будет попроще кубера для Ваших целей

Nikolay
12.05.2019
15:14:16
единственное, что для каждого нового контейнера будут прокидываться volume базовые, которые уже будут модифицироваться в зависимости от действий пользователя

тут кажись уже надо будет всё таки свою приблуду пилить для хранения инфы о volum'ах

Данила
12.05.2019
15:15:37
Через команду docker info Вы можете посмотреть, что и куда у Вас в контейнере примонтировано

Google
Nikolay
12.05.2019
15:18:37
о, спс

Данила
12.05.2019
15:19:17
о, спс
Не то, docker inspect

Никитяо
13.05.2019
08:17:36
подскажите нормальные варианты, надо бэкапить базу percona в докере, на innodb, желательно не поднимать никакие контейнеры и не перенастраивать основной контейнер, крайне желательно без остановки 1) натравить xtrabackup на директорию волюма /var/lib/docker/volumes/... 2) docker export и уже оттуда бэкапить

Никитяо
13.05.2019
08:19:08
да и вообще - что мешает тупо сделать лвм бекап тома вместе с volume докера?
ну если это нормальный путь, то наверное это лучший вариант

George
13.05.2019
08:19:18
ну, не худший - точно

Никитяо
13.05.2019
08:20:01
а база не развалится?

George
13.05.2019
08:20:14
от чего?

от снапшота? нет. А вот бекап - нужно проверять

пугает, что много элементов

бд -> docker -> файловая система хоста

Andrey
13.05.2019
08:20:52
от снапшота не развалится innodb?

при активной записи в неё

Никитяо
13.05.2019
08:21:14
Andrey
13.05.2019
08:23:20
дак когда снимешь снапшот - он уже будет неконсистентный. буфферы же

восстановишь - попытается восстановиться, но гарантии нет, что восстановится (даблврайт и тд)

George
13.05.2019
08:28:42
?

https://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots

Google
George
13.05.2019
08:29:24
народ делает так

https://www.digitalocean.com/community/tutorials/how-to-back-up-a-mysql-database-to-spaces-using-lvm-snapshots

Andrey
13.05.2019
08:36:35
а, ну вот, да: FLUSH TABLES WITH READ LOCK

Страница 1226 из 1375