Как создать постоянный том с бесконтактным подманом? - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь запустить контейнер mongodb. Все в порядке, ожидайте, что он не загружается, потому что не может изменять разрешения данного тома. В статье Red Hat есть возможное исправление этой проблемы, но оно, вероятно, не сработает, поскольку mongodb внутри контейнера делает все как root. (или, по крайней мере, мне это не удалось)

Здесь также опубликовано рабочее решение здесь , но оно работает только в том случае, если монтировать контейнер в том же каталоге, что и в контейнере, то есть не мой случай.

Возможно ли запустить что-то подобное без root, или единственный вариант прямо сейчас - запустить его как root?

podman run -d -p 27017:27017 -v /path/to/dir:/data/db --name container_name mongo:latest

1 Ответ

0 голосов
/ 26 июля 2020

Добавив :Z к значению параметра -v, он работает в Fedora 32.

Этот пример показывает, что он не работает без :Z, но успешно с :Z

[user@laptop ~]$ cat /etc/fedora-release
Fedora release 32 (Thirty Two)
[user@laptop ~]$ podman --version
podman version 2.0.3
[user@laptop ~]$ mkdir /home/user/datadir
[user@laptop ~]$ podman run -d -p 27017:27017 -v /home/user/datadir:/data/db --name container_name docker.io/library/mongo:latest
09db7d3aa409f74e384396d7e8861aa1cb0a3533ffceeb21b604314c240d9772
[user@laptop ~]$ podman container list
CONTAINER ID  IMAGE   COMMAND  CREATED  STATUS  PORTS   NAMES
[user@laptop ~]$ podman logs container_name
find: '/data/db': Permission denied
chown: changing ownership of '/data/db': Permission denied
[user@laptop ~]$ podman container rm 09db7d3aa409f74e384396d7e8861aa1cb0a3533ffceeb21b604314c240d9772
09db7d3aa409f74e384396d7e8861aa1cb0a3533ffceeb21b604314c240d9772
[user@laptop ~]$ podman run -d -p 27017:27017 -v /home/user/datadir:/data/db:Z --name container_name docker.io/library/mongo:latest
649c23b5e43bab97e0b446be29e9c5b6ebc26978d5faff818e078d16c35917b1
[user@laptop ~]$ podman logs container_name | grep 27017
2020-07-26T07:55:53.777+0000 I  CONTROL  [initandlisten] MongoDB starting : pid=1 port=27017 dbpath=/data/db 64-bit host=649c23b5e43b
2020-07-26T07:55:54.371+0000 I  NETWORK  [listener] Listening on /tmp/mongodb-27017.sock
2020-07-26T07:55:54.371+0000 I  NETWORK  [listener] waiting for connections on port 27017
[user@laptop ~]$ 

Цитата из справочной страницы из podman run:

Параметр Z указывает Podman пометить контент частной нераспространенной меткой.

...