成为 docker 容器的 root

Ale*_*sky 7 docker

在 Docker 容器中安装了Oracle 数据库,但不知道如何成为 root。如果我从主机到这个

sudo docker exec -it -u 0 oracle18se /bin/bash
Run Code Online (Sandbox Code Playgroud)

或者

sudo docker exec -it --user root oracle18se /bin/bash
Run Code Online (Sandbox Code Playgroud)

我得到

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
Run Code Online (Sandbox Code Playgroud)

如果我做

sudo docker exec -it oracle18se /bin/bash
Run Code Online (Sandbox Code Playgroud)

从主机,然后

su -
Run Code Online (Sandbox Code Playgroud)

从容器中,它询问 root 密码,但我不知道。

Hy 主机操作系统是 Ubuntu 18.04,链接到 docker 文件

编辑1:

发现一个 Docker错误

mir*_*ana 10

您可以执行到现有容器

docker exec -u root -it <container-id> /bin/bash

输出(如终端所示):

root@<container-id>:/#

并设置root密码使用这个:

键入以下命令成为 root 用户并发出 passwd:

sudo -i
passwd
Run Code Online (Sandbox Code Playgroud)

或一次性为 root 用户设置密码:

sudo passwd root

通过键入以下命令测试您的 root 密码:

su -

  • 有错误,请参阅 EDIT1 (2认同)
  • `docker exec -it -u root docker-container_name_1 bash` 为我工作。谢谢! (2认同)

ban*_*nuj 7

您可以使用以下命令在 docker 容器中以 root 身份连接:

docker exec -u 0 -it <container_id> /bin/bash
Run Code Online (Sandbox Code Playgroud)