Как стать автором
Обновить

Комментарии 5

  • Версия:

    • version: '3.9': Используется версия 3.9 формата Docker Compose.

В доке пишут, что указывать не обязательно.

r = redis.Redis(host='193.3.298.206', port=6380, db=0, username='username', password='your_pass')

Раз у нас уже есть файл с переменными окружения (и мы его используем в docker-compose.yaml), логично и тут использовать этот файл (я бы не ставил на то, что люди не будут ограничиваться одним копированием).

В доке пишут, что указывать не обязательно.

Я Python разработчик. У меня в подкорку вшито, что "явное - лучше не явного")

Раз у нас уже есть файл с переменными окружения

Файл окружения лежит на VPS сервере, а тест был с локальной машины. Можно, было, конечно там использовать .env, но мне показалось что новичкам будет понятнее явное указание, с учетом того что я показывал подключение по ссылке.

Много замечаний, даже не очень хочется комментировать это..

version: '3.9' - compose версий 3.x - зарезервировано для Docker Swarm. Вам достаточно будет 2.x, хоть оно и совместимо. Вообще говоря, версии 3.9 не существует, а в последних версиях compose эта строка вообще игнормруется.

Что за дичь в секции "command"? Почему не засунуть всё в конфиг и, например, примонтировать его? Или даже внутри Dockerfile это все можно сделать.

Делаем пароль, но светим его в коммандной строке - просто совет на миллион...

С такой командной строкой просто так корректно остановить процесс не получится. Поскольку у вас это строка - оно будет запущено через shell, то есть это будет выглядеть как `sh -c "sh -c "mkdir ...; redis-server ... ""`.. Не много ли процессов? По умолчанию при остановке контейнера SIGTERM будет отправлен процессу с pid=1, у вас это будет первый sh. Он остановится, а остальное - нет. И по таймауту докер вынужден будет жёстко прибить все процессы, что очень не хорошо и Redis может не успеть закрыть свои файлы корректно.

Пароли в переменных окружения - тоже совсем не секьюрно.

  • tty и stdin_open: Включены для интерактивного доступа.

Зачем, если вы запускаете как демон?

По версии в compose файле выше писал, ну и привычка никуда не девается.

Что за дичь в секции "command"? Почему не засунуть всё в конфиг и, например, примонтировать его? Или даже внутри Dockerfile это все можно сделать.

Мне показалось, что новичкам будет интересно глянуть как указывать команды в compose файле. Тем более так обычно, действительно, не делают. Ну а так да. В боевых проектах пишут все в config файле.

Зачем, если вы запускаете как демон?

Иногда удобно вернуться в терминал для отслеживания текущих логов в интерактивном режиме. Ну и там проще тогда в attach режим входить. Не знаю, тут, кажется, что замечание вообще не уместное.

„Мне показалось, что новичкам будет интересно глянуть как указывать команды в compose файле“

Если уж взялись писать 1001-он руководство, то пишите не как вам кажется, а как надо в production ready окружении его ставить. Все остальное гуглится за 5 минут и все они примерно такого же уровня :(

Вам же вопросы задавали: как пароли указывать, чтобы хоть какая-то видимость безопасности была, не простым ps -all все искалось.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории