gpt4 book ai didi

azure - 如何以 root 用户身份访问 Azure 容器实例?

转载 作者:行者123 更新时间:2023-12-03 04:40:30 31 4
gpt4 key购买 nike

我有一个 Azure 容器实例,默认情况下有一个非 root 用户。为了调试和实验,我想像使用普通的 docker 容器一样执行到容器中: 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 所具有的任何附加选项,包括 -u运行时更改登录容器的用户的选项 docker exec -u root ... '/bin/bash' .

我尝试过使用su在容器中,但它提示输入密码,而且我不知道该密码是什么,因为据我所知,创建此 ACI 使用的镜像的 dockerfile 没有设置密码(该镜像是通过创建的)本托姆尔)。默认用户名为 Bentoml。运行结果id :

uid=1034(bentoml) gid=1034(bentoml) groups=1034(bentoml)

有解决办法吗?也许有一种以 root 身份 ssh 进入容器的方法?

最佳答案

我尝试重现该问题并得到以下输出

我已使用以下命令从 docker hub 中提取了 docker 镜像

   docker pull <image_name>

从 docker 中提取镜像时,如果需要,我们需要提供凭据

enter image description here

我已使用以下命令运行图像

docker run -it <image_id> /bin/bash

enter image description here

此处容器正在运行,但我无法使用 root 用户命令

要以 root 身份访问容器,请使用以下命令

docker run -u 0 -it image_id /bin/bash

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

enter image description here

您可以使用此 docker 文件设置无密码,这样它就不会询问任何密码

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

关于azure - 如何以 root 用户身份访问 Azure 容器实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74032606/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com