我在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错误。
解决办法是
sudo docker exec -u 0 -it --workdir / oracle12se /bin/bash
您可以使用以下方式在docker容器中以root用户身份连接:
docker exec -u 0 -it <container_id> /bin/bash
docker exec-u root-it
输出(如终端所示):
根目录@
键入以下命令以成为root用户并发出passwd:
sudo -i
passwd
或者在一次运行中为root用户设置密码:
sudo passwd root
通过键入以下命令测试root密码:
su-
我在本地机器上运行这个命令docker run-d--name SonarQube-p9000:9000-p9092:9092 SonarQube 这将从dockerhub获取分支的映像,然后创建映像的容器。现在我想对文件进行一些更改,但容器中没有编辑器。我尝试使用apt-get安装vi,但它说我需要是根用户才能执行命令,当我编写sudo时,它说找不到命令。如何在容器中安装编辑器? 我运行这个命令
我有一个Docker composer文件,类似于: 内部测试容器Dockerfile 但是,变量(我希望它是另一个容器的内部IP)不会被转换为另一个容器名称。 怎么能做到呢?用Docker-Compose可以用另一种方式实现吗?
我认为这是因为容器没有JAVA_HOME变量集。我执行了和尝试命令,但它没有显示java可执行文件。此外,java和javac命令不起作用。 有人知道我做错了什么吗?如有任何帮助,不胜感激。提前感谢!
问题内容: 我想知道容器ID的生成方式,因此请提供执行docker run时提供容器ID的源代码? 问题答案: 这是docker守护程序创建容器的代码片段: 因此,创建ID和名称的逻辑是在generateIDAndName函数中: 这是字符串源,具体方法是使用false作为输入参数的generateID: 正如你所看到的,该值是随机与此产生的随机
我用官方dockerfile安装了Oracle数据库。数据库工作,但不清楚如何成为root(我需要安装perl来安装示例模式)。我试过这个: 但是得到: 这是什么意思? 是否有默认root密码?
我不是docker的专家,也许我缺少一些基本配置。有什么想法为什么我不能使用POI?提前道谢。