如何 运行 bash 作为 root 用户使用 docker 在 alpine 图像上? su:必须suid才能正常工作
How to run bash as user root on alpine images with docker? su: must be suid to work properly
编辑:
答案很明确。进入容器时可以使用标志--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 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
作为根用户在容器中执行命令。获得 shell:
docker exec -it --user root kong sh
您必须使用 $CONTAINER_ID :
docker exec -it --user root $CONTAINER_ID /bin/sh
编辑:
答案很明确。进入容器时可以使用标志--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 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
作为根用户在容器中执行命令。获得 shell:
docker exec -it --user root kong sh
您必须使用 $CONTAINER_ID :
docker exec -it --user root $CONTAINER_ID /bin/sh