如何在非root用户运行的容器中安装新软件包?

问题描述 投票:0回答:2

我需要在运行中的容器中安装诸如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?

docker containers alpine
2个回答
0
投票

您的用户是否很礼貌?运行此命令:

sudo apk add curl

如果上述命令无效,请运行此命令。

docker exec -it CONTAINER_NAME apk add curl

0
投票

使用kubectl describe pod ...查找运行您的Pod的节点和容器ID(docker:// ...)

SSH进入节点

运行docker exec -u根ID-/ bin / bash

© www.soinside.com 2019 - 2024. All rights reserved.