首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在非root运行的容器中安装新的包?

如何在非root运行的容器中安装新的包?
EN

Stack Overflow用户
提问于 2019-10-03 23:05:53
回答 2查看 5K关注 0票数 2

我需要在一个运行的容器中安装简单的包,比如curl,但是我遇到了这个错误:

代码语言:javascript
运行
复制
~ $ apk add curl
ERROR: Unable to lock database: Permission denied
ERROR: Failed to open apk database: Permission denied

我知道如何在Dockerfile中更改用户,但我没有访问docker文件的权限,我需要在容器内或打开容器内的终端时执行此操作。我尝试使用--user=,但不起作用:

代码语言:javascript
运行
复制
kubectl exec -n kube-system --user="root" -it tiller-deploy-75f6c87b87-xtpxl /bin/ash
error: auth info "root" does not exist

如何获得root访问权限或安装curl?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-04 00:35:27

你的用户是sudoer吗?运行以下命令:

代码语言:javascript
运行
复制
sudo apk add curl

如果上面的命令不起作用,运行这个命令。

代码语言:javascript
运行
复制
docker exec -it CONTAINER_NAME apk add curl
票数 -3
EN

Stack Overflow用户

发布于 2019-10-04 03:49:26

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

通过SSH连接到节点

代码语言:javascript
运行
复制
run docker exec -u root ID -- /bin/bash
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58221955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档