编辑:
答案是那么清楚。可以使用标志--user root
进入容器时。
docker exec -it --user root mycontainername bash or sh
我刚刚为服务(Kong API 网关)下载了这个官方 docker hub 的 1.5.0-alpine 镜像,现在我无法运行 apk 命令来安装 nano,例如。
之前,我只需要进入容器
docker exec -it kong sh
或者
docker-compose exec kong sh
我能够运行像
apk update
这样的命令或 apk add nano
, 例如。但现在我收到这些错误
$ apk update
ERROR: Unable to lock database: Permission denied
ERROR: Failed to open apk database: Permission denied
$ apk add nano
ERROR: Unable to lock database: Permission denied
ERROR: Failed to open apk database: Permission denied
我也尝试运行 sudo 和 su ......但我得到了
$ su
su: must be suid to work properly
$ su root
su: must be suid to work properly
$ suid
sh: suid: not found
我真的需要构建自己的自定义图像吗?我使用的是官方的,它运行良好。
最佳答案
您可以使用 --user root
在容器内以 root 身份运行命令.获取 shell :
docker exec -it --user root kong sh
关于docker - 如何使用 docker 在 alpine 图像上以 root 用户身份运行 bash?苏 : must be suid to work properly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61683448/