我在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 错误。
您可以执行到现有容器中
docker exec -u root -it <container-id> /bin/bash
输出(如终端所示(:
root@<container-id>:/#
要设置root密码,请使用以下命令:
键入以下命令以成为 root 用户并发出 passwd:
sudo -i
passwd
或者一次性为根用户设置密码:
sudo passwd root
通过键入以下命令测试您的 root 密码:
su -
您可以使用以下方法在 docker 容器中以 root 身份连接:
docker exec -u 0 -it <container_id> /bin/bash
解决方法是
sudo docker exec -u 0 -it --workdir / oracle12se /bin/bash