Как установить новые пакеты в контейнере без полномочий root? - PullRequest
0 голосов
/ 03 октября 2019

Мне нужно установить простые пакеты, такие как curl, внутри работающего контейнера, но я сталкиваюсь с этой ошибкой:

~ $ apk add curl
ERROR: Unable to lock database: Permission denied
ERROR: Failed to open apk database: Permission denied

Я знаю, как изменить пользователя в Dockerfile, но у меня нет доступа кDocker файл, и мне нужно сделать это, когда я нахожусь внутри контейнера или при открытии терминала внутри контейнера. Я пытался использовать --user=, но ничего не получалось:

kubectl exec -n kube-system --user="root" -it tiller-deploy-75f6c87b87-xtpxl /bin/ash
error: auth info "root" does not exist

Как получить root-доступ или установить curl?

Ответы [ 2 ]

0 голосов
/ 03 октября 2019

Используйте kubectl description pod ..., чтобы найти узел, на котором запущен Pod, и идентификатор контейнера (docker: // ...)

SSH в узел

run docker exec -u root ID - / bin / bash

0 голосов
/ 03 октября 2019

Ваш пользователь sudoer? Выполните эту команду:

sudo apk add curl

И если вышеуказанная команда не сработала, выполните эту команду.

docker exec -it CONTAINER_NAME apk add curl
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...