提问人:Alexey Starinsky 提问时间:12/17/2019 最后编辑:Alexey Starinsky 更新时间:12/17/2019 访问量:24693
成为 docker 容器的 root 用户
Become root in a docker container
问:
我在 Docker 容器中安装了 Oracle 数据库,但不知道如何成为 root。如果我从主机到这个
sudo docker exec -it -u 0 oracle18se /bin/bash
或
sudo docker exec -it --user root oracle18se /bin/bash
我得到
OCI runtime exec failed: exec failed: container_linux.go:345: starting container process caused "chdir to cwd (\"/home/oracle\") set in config.json failed: permission denied": unknown
如果我这样做
sudo docker exec -it oracle18se /bin/bash
从主机,然后
su -
从容器中,它询问root密码,但我不知道。
Hy 主机操作系统是 Ubuntu 18.04,链接到 docker 文件
编辑1:
发现一个 Docker 错误。
答:
7赞
banuj
12/17/2019
#1
您可以使用以下命令在 docker 容器中以 root 身份进行连接:
docker exec -u 0 -it <container_id> /bin/bash
评论
1赞
Alexey Starinsky
12/17/2019
我得到这个命令。OCI runtime exec failed: exec failed: container_linux.go:345: starting container...
2赞
Alexey Starinsky
12/17/2019
#2
解决方法是
sudo docker exec -u 0 -it --workdir / oracle12se /bin/bash
30赞
DUDANF
12/17/2019
#3
可以执行到现有容器中
docker exec -u root -it <container-id> /bin/bash
输出(如终端所示):
root@<container-id>:/#
要设置root密码,请使用:
键入以下命令以成为 root 用户并发出 passwd:
sudo -i
passwd
或者一次性为 root 用户设置密码:
sudo passwd root
通过键入以下命令来测试您的 root 密码:
su -
评论
2赞
Alexey Starinsky
12/17/2019
有bug,见EDIT1
2赞
Pathros
6/8/2022
docker exec -it -u root docker-container_name_1 bash
为我工作。谢谢!
评论
OCI runtime exec failed...