docker容器中创建非root用户的操作方法

 更新时间:2025年06月16日 11:37:44   作者:veryitman  
用户分享在Docker容器中创建非root用户nuser并配置权限的实践,通过设置密码、修改sudoers文件实现安全运行,避免使用root用户操作,适用于部署Stable Diffusion WebUI等场景,本文给大家介绍docker容器中创建非root用户的操作,感兴趣的朋友一起看看吧

简介

docker 也有一段时间了,一直在 docker 容器中使用 root 用户肆意操作。直到部署 stable diffusion webui 我才发现无法使用 root 用户运行它,于是才幡然醒悟:是时候搞个非 root 用户了。

我使用的 docker 镜像文件是 centos:centos7.9.2009,使用如下命令就可以拉取其镜像文件。

docker pull centos:centos7.9.2009

接下来的内容都是基于该镜像进行操作的,仅供大家参考。

厉兵秣马

我们还是要做些准备工作。

1、创建/运行容器

docker run -d -it --name c_os centos:centos7.9.2009
docker container start c_os

2、进入容器(此时用的是 root 用户,docker默认如此)

docker exec -it c_os bash

3、安装相关工具

yum install -y vim
yum install -y sudo

万事俱备

做完上面的工作,我们就可以来操刀了。

跟着命令敲,都是基本操作。

# 添加 nuser 这个用户
useradd -d /home/nuser -m nuser
# 设置密码
passwd nuser

需要为该用户 nuser 设置一个密码,比如 565656。

usermod -aG wheel nuser

编辑 /etc/sudoers 文件

chmod u+w /etc/sudoers
vim /etc/sudoers

修改两个地方

## Allows people in group wheel to run all commands  
# 取消这个注释
wheel   ALL=(ALL)       ALL 
# 新增
nuser    ALL=(ALL)       ALL  

编辑完成之后,关闭文件的编辑权限。

chmod u-w /etc/sudoers

我们退出刚才进入的容器

exit

指定用户 nuser 重新进入容器

docker exec --user nuser -it c_os bash

可以使用如下命令查看当前登入的用户是哪位

whoami

结果显示:nuser,搞定!

到此这篇关于docker容器中创建非root用户的文章就介绍到这了,更多相关docker创建非root用户内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker保存镜像到本地并加载本地镜像文件详解

    docker保存镜像到本地并加载本地镜像文件详解

    平常我们下载docker镜像会通过配置国内源来加速下载,但是有时候会有另外的需求,比如某个机器不能联网,我们就需要从其他机器下载,打包后,拷贝到这个机器,下面这篇文章主要给大家介绍了关于docker保存镜像到本地并加载本地镜像文件的相关资料,需要的朋友可以参考下
    2022-08-08
  • Docker 安装 MySQL 并实现远程连接教程

    Docker 安装 MySQL 并实现远程连接教程

    这篇文章主要介绍了Docker 安装 MySQL 并实现远程连接的教程,帮助大家更好的理解和使用docker容器,感兴趣的朋友可以了解下
    2020-09-09
  • docker maven plugin快速部署微服务的详细流程

    docker maven plugin快速部署微服务的详细流程

    本文给大家介绍docker maven plugin微服务快速部署方法,主要将Dockerfile写在pom中方便项目管理,将微服务的 打包、上传、镜像创建操作整合到一条命令中执行,感兴趣的朋友跟随小编一起看看吧
    2022-04-04
  • docker build 和compose 学习笔记

    docker build 和compose 学习笔记

    Docker build构建镜像,docker-compose up -d启动多容器应用,前者需Dockerfile,后者需docker-compose.yml,Compose可自动调用Build或使用现有镜像,协同提升开发效率与环境一致性,本文给大家分享docker build 和compose 学习笔记,感兴趣的朋友一起看看吧
    2025-07-07
  • 更改Docker默认数据目录解决部署空间不足问题

    更改Docker默认数据目录解决部署空间不足问题

    随着使用 Docker 的时间增加,存储在默认数据目录(通常是 /var/lib/docker)中的数据量也会不断增大,最终可能导致服务器上的存储空间不足,这篇文章将详细介绍如何更改 Docker 的默认数据目录,以便在服务器上释放存储空间并优化资源利用,需要的朋友可以参考下
    2024-06-06
  • MongoDB从入门到实战之Docker快速安装MongoDB的详细过程

    MongoDB从入门到实战之Docker快速安装MongoDB的详细过程

    这篇文章主要介绍了MongoDB从入门到实战之Docker快速安装MongoDB的详细过程,本文给大家分享详细实战教程,帮助大家快速把MongoDB环境搭建起来,感兴趣的朋友一起看看吧
    2025-05-05
  • 优化Docker镜像安全性的12个技巧总结

    优化Docker镜像安全性的12个技巧总结

    docker是虚拟化容器技术,有三个主要概念,镜像(类)、容器(对象)、仓库,docker就是类似VM虚拟机一样的虚拟技术,体积小,运行速度快,下面这篇文章主要给大家介绍了关于优化Docker镜像安全性的12个技巧,需要的朋友可以参考下
    2022-03-03
  • 运行中的docker容器端口映射如何修改详解

    运行中的docker容器端口映射如何修改详解

    这篇文章主要给大家介绍了关于运行中的docker容器端口映射如何修改的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 利用drone ci自动化部署静态博客的完整步骤

    利用drone ci自动化部署静态博客的完整步骤

    drone是基于容器的构建服务,配置简单且免费,在 github上也有20Kstar,下面这篇文章主要给大家介绍了关于利用drone ci自动化部署静态博客的相关资料,需要的朋友可以参考下
    2022-05-05
  • 使用Dockerfile.dockerignore提升Docker镜像构建速度

    使用Dockerfile.dockerignore提升Docker镜像构建速度

    这篇文章主要为大家介绍了使用Dockerfile.dockerignore提升Docker镜像构建速度,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪<BR>
    2023-10-10

最新评论