Moby: docker создал файлы в томах как root, есть ли способ сделать это текущим пользователем?

Созданный на 12 авг. 2015  ·  3Комментарии  ·  Источник: moby/moby

Я хочу использовать Django в докере и добавить локальный каталог, поскольку в него монтируются тома, но когда я использую manage.py, создайте несколько файлов. все файлы, созданные «root», есть ли способ сделать их принадлежащими моему текущему пользователю?

Все 3 Комментарий

Привет!

Пожалуйста, прочтите эту важную информацию о создании задач.

Если вы сообщаете о новой проблеме, убедитесь, что у нас нет уже открытых дубликатов. Вы можете убедиться в этом, выполнив поиск в списке проблем для этого репозитория. Если есть дубликат, пожалуйста, закройте свою проблему и вместо этого добавьте комментарий к существующей проблеме.

Если вы подозреваете, что проблема связана с ошибкой, отредактируйте описание проблемы, включив в нее ИНФОРМАЦИЮ ОТЧЕТА О ОБ ОШИБКЕ, показанную ниже. Если вы не предоставите эту информацию в течение 7 дней, мы не сможем отладить вашу проблему и закроем ее. Однако мы снова откроем его, если вы позже предоставите информацию.

Это автоматический информационный ответ.

Спасибо.

Дополнительные сведения об отчетах о проблемах см. на странице https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues .


ИНФОРМАЦИЯ ОБ ОШИБКЕ

Используйте приведенные ниже команды для предоставления ключевой информации из вашей среды:

docker version :
docker info :
uname -a :

Укажите дополнительные сведения о среде (AWS, VirtualBox, физическая и т. д.):

Перечислите шаги для воспроизведения проблемы:
1.
2.
3.

Опишите полученные результаты:

Опишите ожидаемые результаты:

Предоставьте дополнительную информацию, которую вы считаете важной:

----------КОНЕЦ ОТЧЕТА ---------

ИНФОРМАЦИЯ

$ docker version

Client API version: 1.19
Package Version (client): docker-1.7.1-7.gitd5a81b3.fc22.x86_64
Go version (client): go1.4.2
Git commit (client): d5a81b3/1.7.1
OS/Arch (client): linux/amd64
Server version: 1.7.1.fc22
Server API version: 1.19
Package Version (server): docker-1.7.1-7.gitd5a81b3.fc22.x86_64
Go version (server): go1.4.2
Git commit (server): d5a81b3/1.7.1
OS/Arch (server): linux/amd64

$ docker info

Containers: 8
Images: 100
Storage Driver: devicemapper
 Pool Name: docker-253:1-404319-pool
 Pool Blocksize: 65.54 kB
 Backing Filesystem: extfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 4.575 GB
 Data Space Total: 107.4 GB
 Data Space Available: 39.96 GB
 Metadata Space Used: 7.352 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.14 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.93 (2015-01-30)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 4.1.3-201.fc22.x86_64
Operating System: Fedora 22 (Twenty Two)
CPUs: 4
Total Memory: 11.44 GiB
Name: kyan.xxx.xxx.xxx.com
ID: V6E4:XJB2:BURJ:SRYK:D6VW:2BDW:CFNH:BT4J:G54A:NSK5:OQEP:C4H3


$ uname -a

Linux kyan.laptop.nay.redhat.com 4.1.3-201.fc22.x86_64 #1 SMP Wed Jul 29 19:50:22 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Укажите дополнительные сведения о среде (физ.):

Перечислите шаги для воспроизведения проблемы:

  1. создайте конфигурацию, следуйте https://docs.docker.com/compose/django/ (перед «Сборкой проекта»)
  2. добавьте привилегию в docker-compose.yml или выполните sudo setenforce 0 , чтобы заставить облако контейнеров записывать файл в тома.
  3. беги docker-compose run web django-admin.py startproject composeexample .
  4. файлы, сгенерированные Django, были созданы пользователем root

Мой вопрос: есть ли способ заставить сгенерированные контейнером файлы использовать хост-пользователя и группу?

drwxr-xr-x. 2 root root 4.0K Aug 12 09:21 composeexample
-rwxr-xr-x. 1 kyan kyan  360 Aug 12 09:21 docker-compose.yml
-rwxr-xr-x. 1 kyan kyan  146 Aug 11 18:59 Dockerfile
-rwxr-xr-x. 1 root root  255 Aug 12 08:52 manage.py
-rwxr-xr-x. 1 kyan kyan   99 Aug 11 18:46 requirements.txt

Я нашел решение, просто добавьте --user 1000:1000
или добавить в docker-compose.yml

user: "1000:1000"
Была ли эта страница полезной?
0 / 5 - 0 рейтинги