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 sudoapk 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

你可能感兴趣的:(计算机编码,docker,容器,运维)