Docker-compose: монтирование tmpfs, используемого пользователем без полномочий root - PullRequest
0 голосов
/ 27 ноября 2018

Я создаю образы докеров, которые позже будут использоваться в Kubernetes с жесткими настройками:

  1. файловая система только для чтения
  2. пользователь без полномочий root

В целях тестирования я могу эмулировать 1) с помощью read_only: true в конфигурации docker-compose.Затем мне нужно добавить несколько каталогов для мест с активностью записи, таких как / run и / var.Но если я попытаюсь использовать tmpfs, как показано здесь , каталог принадлежит root:

drwxr-xr-x 2 root root 40 Nov 27 11:05 /var

Есть ли секретная опция, чтобы сделать его drwxrwxrwx?Есть ли альтернатива (кроме каталогов простого диска)?

Запуск:

  • Версия Docker 18.06.0-ce
  • Версия Docker-Compose 1.8.0
  • Ubuntu 16.04

1 Ответ

0 голосов
/ 27 ноября 2018

Вы можете указать режим tmpfs:

docker run -d \
  -it \
  --name tmptest \
  --mount type=tmpfs,destination=/app,tmpfs-mode=1770 \
  nginx:latest

https://docs.docker.com/storage/tmpfs/#specify-tmpfs-options


В более старом 2.x синтаксисе составления файла вы можете указать его следующим образом:

version: "2.4"
services:
  my_app:
    image: my_app
    read_only: true
    restart: always
    tmpfs:
      - /run:mode=770,size=1k,uid=200,gid=10000

https://github.com/docker/cli/issues/698#issuecomment-429688027


Для синтаксиса 3.x с определением тома в длинном формате вы захотите следовать этой проблеме:

https://github.com/docker/cli/issues/1285

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...