首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在docker容器中使用sudo?

如何在docker容器中使用sudo?
EN

Stack Overflow用户
提问于 2018-08-02 01:01:41
回答 2查看 0关注 0票数 0

通常,使用用户root运行docker容器。我想使用不同的用户,但是这个用户应该能够在容器内使用sudo。缺少此命令。

这是一个简单的Dockerfile:

代码语言:javascript
运行
复制
FROM ubuntu:12.04

RUN useradd docker && echo "docker:docker" | chpasswd
RUN mkdir -p /home/docker && chown -R docker:docker /home/docker

USER docker
CMD /bin/bash

运行此容器,我使用用户'docker'登录。当我尝试使用sudo时,找不到该命令。所以我尝试使用在我的Dockerfile中安装sudo包:

代码语言:javascript
运行
复制
RUN apt-get install sudo
EN

回答 2

Stack Overflow用户

发布于 2018-08-02 09:07:49

这是TL;DR版本:

代码语言:txt
复制
RUN apt-get update
RUN apt-get install sudo

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

USER docker

# this is where I was running into problems with the other approaches
RUN sudo apt-get update 
票数 0
EN

Stack Overflow用户

发布于 2018-08-02 10:21:26

我不得不将用户添加到sudoers组。但主要原因是我忘了更新存储库缓存,所以apt-get找不到sudo包。

这是完成的代码:

代码语言:javascript
运行
复制
FROM ubuntu:12.04

RUN apt-get update && \
      apt-get -y install sudo

RUN useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo

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

https://stackoverflow.com/questions/-100004118

复制
相关文章

相似问题

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