Переключение пользователей в контексте контейнера Docker

Настройка тестовых каталогов и файлов:

$ mkdir -p x{1..3}/mf/dir{1..3}
$ touch x{1..3}/mf/file{1..3}
$ tree
.
|-- x1
|   `-- mf
|       |-- dir1
|       |-- dir2
|       |-- dir3
|       |-- file1
|       |-- file2
|       `-- file3
|-- x2
|   `-- mf
|       |-- dir1
|       |-- dir2
|       |-- dir3
|       |-- file1
|       |-- file2
|       `-- file3
`-- x3
    `-- mf
        |-- dir1
        |-- dir2
        |-- dir3
        |-- file1
        |-- file2
        `-- file3

Затем найдите все каталоги, в пути которых есть mf, и удалите их. -depthвыполняет первый обход в глубину -, так что findне пытается войти в каталоги, которые он уже удалил. Мы также печатаем имена всех каталогов, которые удаляются.

$ find. -depth -type d -path "*/mf/*" -print -exec rm -rf {} +
./x1/mf/dir1
./x1/mf/dir2
./x1/mf/dir3
./x2/mf/dir1
./x2/mf/dir2
./x2/mf/dir3
./x3/mf/dir1
./x3/mf/dir2
./x3/mf/dir3

Сейчас:

$ tree
.
|-- x1
|   `-- mf
|       |-- file1
|       |-- file2
|       `-- file3
|-- x2
|   `-- mf
|       |-- file1
|       |-- file2
|       `-- file3
`-- x3
    `-- mf
        |-- file1
        |-- file2
        `-- file3
3
21.08.2019, 11:19
1 ответ

ответ на мою проблему

У меня недостаточно определено subuid/subgid для пользовательского пространства имен.

перед

/etc/subuid
/etc/subgid
  dockeruser:120000:10000

и я создал пользователя в контейнере с UID=26551 -, где 26551 лежит не в пределах [120000,120000+10000], и, таким образом, переключиться на этого пользователя не удалось.

исправить

расширение диапазона subuid и subgid до [200000,200000+100000] и фактическое включение UID

/etc/subuid
/etc/subgid
  dockeruser:200000:100000
1
27.01.2020, 21:29

Теги

Похожие вопросы