docker镜像新增加用户+sudo权限,无dockerfile
1. 启动临时容器并进入
以root用户启动容器(假设原镜像为ubuntu:22.04):
docker run -it --name temp_container ubuntu:22.04 /bin/bash
2. 安装sudo(若镜像未预装)
在容器内执行以下命令安装sudo(适用于Debian/Ubuntu系镜像):
apt-get update && apt-get install -y sudo
- 注意:若镜像基于CentOS/Alpine,需改用
yum install sudo或apk add sudo。
3. 创建用户并设置密码
添加work用户并分配密码(此处密码设为work123):
useradd -m -s /bin/bash work && echo "work:work123" | chpasswd
-m:创建用户家目录(如/home/work) 。
4. 赋予sudo权限
将用户加入sudo组并配置免密sudo(可选):
# 加入sudo组
usermod -aG sudo work
# 配置免密sudo(可选)
echo "work ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
- 若不配置免密,用户需输入密码才能使用sudo 。
5. 验证权限
切换到work用户并测试sudo:
su - work
sudo apt-get update
6. 提交镜像
退出容器后,提交修改生成新镜像:
docker commit temp_container my_image_with_work_user:latest
