如何以docker用户身份在高山映像上以root身份运行bash? su:必须是suid才能正常工作

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

编辑:答案很明确。进入容器时,可以使用标志--user root

docker exec -it --user root mycontainername bash                 or sh

[我刚刚下载了该官方docker hub的1.5.0-alpine映像以用于服务(Kong API网关),现在例如,我无法运行apk命令来安装nano。

之前,我只需要输入容器

docker exec -it kong sh 

docker-compose exec kong sh

例如,我能够运行apk updateapk 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

我真的需要建立自己的自定义图片吗?我使用的是官方的,并且工作正常。

docker docker-compose kong
1个回答
1
投票

您可以使用--user root以根用户身份在容器内运行命令。要获得外壳:

docker exec -it --user root kong sh
© www.soinside.com 2019 - 2024. All rights reserved.