linux - 如何编写 docker 脚本以便 sudo 在 Docker 用户中运行?

标签 linux bash ubuntu docker sudo

我已经使用 Ubuntu 运行了一个空的 Docker 容器并创建了一个 sudo用户如下:

user@server$ docker run -it ubuntu bash

root@6da1c5bc7f93:/# apt-get update
root@6da1c5bc7f93:/# apt-get -y install sudo

root@6da1c5bc7f93:/# useradd -m -p mosesdocker -s /bin/bash ubiwan
root@6da1c5bc7f93:/# usermod -aG sudo ubiwan  # add user to sudo list
root@6da1c5bc7f93:/# su - ubiwan  # login to the ubiwan user

当我以 ubiwan 身份登录时,密码好像不是mosesdockeruseradd -m -p mosesdocker -s /bin/bash ubiwan 指定。我输入了正确的密码,但得到:

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

ubiwan@6da1c5bc7f93:~$ sudo su
[sudo] password for ubiwan: 
Sorry, try again.
[sudo] password for ubiwan: 
Sorry, try again.
[sudo] password for ubiwan: 
sudo: 3 incorrect password attempts

为什么会这样呢?

是否可以使用 sudo在 Docker 中?什么是“建议”执行sudo Docker 中的操作?

如何编写 docker 脚本以便 sudo 在 Docker 用户中运行?

最佳答案

您需要使用 passwd 将用户密码设置为 root。

如果您以 ubiwan 身份登录,首先输入 exit。 然后作为根类型:

passwd ubiwan

为此用户提供密码。 然后你就可以使用 sudo 作为 ubiwan 用户和这个密码

关于linux - 如何编写 docker 脚本以便 sudo 在 Docker 用户中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43272742/

相关文章:

bash - 在centos 7上安装solr 6.2.0时无法创建用户

linux - 使用 IDA sigmake 生成 Libc 签名

linux - AWK 在 Bash 脚本中不起作用

linux - "export var=` echo ${var1}/.. .`"中的反引号和回显是否有原因?

linux - 在 ubuntu 终端中跳转到命令历史末尾的键盘快捷键

linux - 将超过 100 万个文件解压缩到正确的文件夹结构中

git - 克隆远程git仓库问题

linux - kdevelop 3.5 : configure: error: C++ compiler cannot create executables

c++ - 使用 mpicxx 时由于 _noalias 导致 OpenMPI 构建失败

linux - 用字符串代替shell中的变量