Показаны сообщения с ярлыком ubuntu. Показать все сообщения
Показаны сообщения с ярлыком ubuntu. Показать все сообщения

1 апреля 2018 г.

Docker и permissions


В этой статье я расскажу, как я решил проблему с правами на файлы, которая проявляется при разработке веб-приложений с использованием Docker и контейнеров php-fpm, nginx, node.

Суть проблемы заключается в следующем. Предположим, что у вас выполнены следующие условия:
  • на вашей машине установлена ОС из семейства Linux, например, Ubuntu
  • вы логинитесь и работаете не root-пользователем, например, пользователь ubuntu с id = 1000
  • используете образы php-fpm, nginx, node из официального репозитория Docker Hub
  • исходный код вы редактируете не в докере, а на хост-машине, монтируя директорию с ним в докер-контейнеры
В такой ситуации получается, что владелец файлов исходного кода `id=1000`, а файлы, создаваемые приложением в процессе работы web-сервера (аплоад, кеши, логи и прочее) имеют владельца `id=33`, при этом права на запись у них есть только владельцу. Кроме того, файлы, создаваемые из консоли, например, файлы миграции, файлы кодогенерации, кеши, логи, ассеты, собираемые и публикуемые с помощью npm , будут созданы от имени root-пользователя, если не выполнять `docker run –user` с явным указанием пользователя. Даже если указать локального пользователя для выполнения команд от его имени, то могут возникнуть проблемы с правами записи кеша самих инструментов composer, npm.  Все вышеописанные файлы не получится ни редактировать, ни сменить права без root-пользователя. Это и есть проблема.

24 октября 2013 г.

Подключение диска на Ubuntu без перезагрузки сервера

Дорогой дневник, запишу в тебя то, что мне пришлось пережить увеличивая свободное место на сервере, чтобы случайно не забыть. Перед началом процесса мои знания о том, как в linux подключаются диски отсутствовали полностью в силу того, что на linux у меня только production-окружение.

Начнем. Дело на Ubuntu 12.04.

На сервере есть LVM, но с помощью него можно легко и просто прострелить себе ногу, поэтому он остается быть, его не трогал.

При увеличении свободного места важно было сократить количество перезагрузок и простаивания. Удалось вообще без всего такого.