运行docker需要的权限分析

运行docker需要root权限。

解决非root用户没有权限运行docker命令的问题,方法如下:

方法1:

使用sudo获取管理员权限,运行docker命令,这个方法在通过脚本执行docker命令的时候会有很多局限性

方法2:

docker守护进程启动的时候,会默认赋予名为docker的用户组读写Unix socket的权限,因此只要创建docker用户组,并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix socket了,进而也就可以执行docker相关命令

sudo groupadd docker   #添加docker用户组
sudo gpasswd -a $USER docker   #将登陆用户加入到docker用户组中
newgrp docker   #更新用户组

补充:

如何获得docker容器里面的root权限

首先你的container得正在运行

可通过sudo docker container ls或者sudo docker ps查看容器的CONTAINER ID

最后执行命令(其中7509371edd48 为上面查到的CONTAINER ID)

sudo docker exec -ti -u root 7509371edd48 bash

到此这篇关于运行docker需要的权限分析的文章就介绍到这了,更多相关docker需要root权限吗内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 运行docker需要的权限分析

    运行docker需要root权限. 解决非root用户没有权限运行docker命令的问题,方法如下: 方法1: 使用sudo获取管理员权限,运行docker命令,这个方法在通过脚本执行docker命令的时候会有很多局限性 方法2: docker守护进程启动的时候,会默认赋予名为docker的用户组读写Unix socket的权限,因此只要创建docker用户组,并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix socket了,进而也就可以执行docker相关命令 sudo

  • Docker 数据卷权限实例详解

    Docker 数据卷权限 在CentOS7中运行NodeJs的容器,发现挂载的本地目录在容器中没有执行权限,经过各种验证和Google搜索,找到了问题的原因,这里做一下记录.原因是CentOS7中的安全模块selinux把权限禁掉了,至少有以下三种方式解决挂载的目录没有权限的问题: 1,在运行容器的时候,给容器加特权: 示例:docker run -i -t --privileged=true -v /home/docs:/src waterchestnut/nodejs:0.12.0 2,临时

  • 详解Docker Volume 之权限管理

    Volume数据卷是Docker的一个重要概念.数据卷是可供一个或多个容器使用的特殊目录,可以为容器应用存储提供有价值的特性: 持久化数据与容器的生命周期解耦:在容器删除之后数据卷中的内容可以保持.Docker 1.9之后引进的named volume(命名文件卷)可以更加方便地管理数据卷的生命周期:数据卷可以被独立地创建和删除. 数据卷可以用于实现容器之间的数据共享 可以支持不同类型的数据存储实现 Docker缺省提供了对宿主机本地文件卷的支持,可以将宿主机的目录挂载到容器之中.由于没有容器分

  • 轻松安装docker并运行docker swarm模式

    概要 docker 1.12版本最大的改变在于集成了docker swarm,在docker engine下提供了 swarm 模式,这里主要说一下docker swarm. docker engine本身只提供了容器技术,没有解决集群环境下的容器编排和通信.docker swarm是一个容器编排管理工具,docker-engine在1.12版本之后集成了docker swarm,不需要再单独安装. docker swarm的功能,举个例子,有3台机器都安装了docker环境,称为3台docke

  • Docker的安装方法及运行Docker Swarm模式的使用

    Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口. 概要 docker就给简单介绍这么多,这里主要说说docker swarm. docker engine本身只提供了容器技术,没有解决集群环境下的容器编排和通信.docker swarm是一个容器编排管理工具,docker-engine在1.12版本之后集成了docker

  • Docker磁盘空间使用分析与清理的方法

    本文介绍了Docker磁盘空间使用分析与清理的方法,分享给大家,具体如下: 用了一段时间Docker后,会发现它占用了不少硬盘空间.还好Docker 1.13引入了解决方法,它提供了简单的命令System来查看/清理Docker使用的磁盘空间. 前情提要 #MyVersion [root@dockercon ~]# docker version Client: Version: 17.12.0-ce API version: 1.35 Go version: go1.9.2 Git commit

  • Spring Boot 分层打包 Docker 镜像实践及分析(推荐)

    1. 准备 spring boot 项目 简单,略过 spring boot 版本 > 2.3.x 即可 简单写了一个 hello world 2. 进行相关配置 这里网上很多 blog 都强调了要去 pom.xml 里手动配置启用分层打包: <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot

  • Spring Boot 分层打包 Docker 镜像实践及分析(推荐)

    目录 1.准备springboot项目 2.进行相关配置 3.package 4.Dockerfile 5.应用程序修改&dive分析 1. 准备 spring boot 项目 简单,略过 spring boot 版本 > 2.3.x 即可 简单写了一个 hello world 2. 进行相关配置 这里网上很多 blog 都强调了要去 pom.xml 里手动配置启用分层打包: <build> <plugins> <plugin> <groupId&g

  • 生产环境中安全运行Docker容器

    在生产环境中,强化Docker容器的一种方法就是使它们不可变,也就是只读.安全地运行容器的其他方法还包括最小化受攻击面和应用Linux安全过程,标准Linux安全过程和针对容器环境的特定过程都要应用. 在启动容器时传入--read-only标记就可以 在只读模式下运行 它.这可以防止任何进程写入文件系统.任何试图写入的动作都会导致错误. 运行这种不可变的基础设施 也与其他软件部署流水线的最佳实践相吻合. 尽管不可变性可以阻止任何恶意脚本的执行,可以禁止通过在容器里运行的其他软件暴露出来的漏洞而引

  • C#引用访问权限分析

    本文实例分析了C#引用访问权限问题.分享给大家供大家参考.具体分析如下: 同样代码表现的不同行为:   创建基类(Super)和派生类(Sub)每个类有一个字段field和一个公共方法getField,并且使用内联的方式初始化为1,方法getField返回字段field.C#和Java代码及运行结果如下 复制代码 代码如下: class Super {         public int field = 0;           public int getField()         {

随机推荐