首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何作为根用户访问Azure容器实例?

如何作为根用户访问Azure容器实例?
EN

Stack Overflow用户
提问于 2022-10-11 18:30:38
回答 1查看 421关注 0票数 0

我有一个Azure容器实例,它的默认用户是非根用户。为了进行调试和实验,我想像您使用普通的坞容器:docker exec -u root ...一样,执行到容器中,这样我就可以在容器中拥有sudo权限。正如Interacting with a container in Azure Container Instances中详细介绍的那样,您可以通过az container exec ...运行exec命令,但是正如克里斯蒂安的答案https://stackoverflow.com/a/50334426/17129046中提到的那样,似乎没有一种方法可以添加额外的参数,不仅是针对正在运行的程序,而且似乎也不支持您可以使用docker exec的任何其他选项,包括在运行docker exec -u root ... '/bin/bash'时更改登录到容器的用户的-u选项。

我尝试在容器中使用su,但是它提示输入密码,我不知道密码是什么,因为创建这个ACI使用的映像的dockerfile不会设置密码(映像是通过bentoml创建的)。默认用户称为bentoml。运行id的结果

代码语言:javascript
复制
uid=1034(bentoml) gid=1034(bentoml) groups=1034(bentoml)

有办法解决这个问题吗?也许是一种将ssh作为根用户进入容器的方法?

EN

回答 1

Stack Overflow用户

发布于 2022-10-13 10:44:57

--我试图重现这个问题,得到了下面的输出

我已经使用下面的命令从码头集线器中提取了码头映像

代码语言:javascript
复制
   docker pull <image_name>

当从码头上提取图像时,如果它要求的话,我们需要给出证书。

我已经使用以下命令运行了这个映像

代码语言:javascript
复制
docker run -it <image_id> /bin/bash

在这里,容器正在运行,我无法使用root用户命令。

作为根用户访问容器的使用以下命令

代码语言:javascript
复制
docker run -u 0 -it image_id /bin/bash

在这里,我现在可以安装所有根包。

您可以使用这个停靠文件来设置无密码,然后它就不会问任何密码

代码语言:javascript
复制
RUN apt-get update \
 && apt-get install -y sudo

RUN adduser --disabled-password --gecos '' docker
RUN adduser docker sudo
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers

USER docker
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74032606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档