docker命令不需要敲sudo的方法

docker命令不需要敲sudo的方法

由于docker daemon需要绑定到主机的Unix socket而不是普通的TCP端口,而Unix socket的属主为root用户,所以其他用户只有在命令前添加sudo选项才能执行相关操作。

如果不想每次使用docker命令的时候还要额外的敲一下sudo,可以按照下面的方法配置一下。

  1. 创建一个docker组
    $ sudo groupadd docker

     

  2. 添加当前用户到docker组
     
    $ sudo usermod -aG docker $USER
  3. 登出,重新登录shell
  4. 验证docker命令是否可以运行
    $ docker run hello-world

 

 

Centos下安装docker教程  更新时间:2016年02月04日 08:59:54   投稿:hebedich  

https://www.jb51.net/article/79150.htm

通过yum安装

需要root或者能sudo的权限

yum包更新到最新

?

1

$ sudo yum update

添加Docker yum源

?

1

2

3

4

5

6

7

8

$ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'

[dockerrepo]

name=Docker Repository

baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/

enabled=1

gpgcheck=1

gpgkey=https://yum.dockerproject.org/gpg

EOF

安装Docker包

?

1

$ sudo yum install docker-engine

启动Docker守护进程

?

1

$ sudo service docker start

通过测试镜像运行一个容器来验证Docker是否安装正确

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

$ sudo docker run hello-world

Unable to find image 'hello-world:latest' locally

  latest: Pulling from hello-world

  a8219747be10: Pull complete

  91c95931e552: Already exists

  hello-world:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security.

  Digest: sha256:aa03e5d0d5553b4c3473e89c8619cf79df368babd1.7.1cf5daeb82aab55838d

  Status: Downloaded newer image for hello-world:latest

  Hello from Docker.

  This message shows that your installation appears to be working correctly.

 

 

  To generate this message, Docker took the following steps:

   1. The Docker client contacted the Docker daemon.

   2. The Docker daemon pulled the "hello-world" image from the Docker Hub.

      (Assuming it was not already locally available.)

   3. The Docker daemon created a new container from that image which runs the

      executable that produces the output you are currently reading.

   4. The Docker daemon streamed that output to the Docker client, which sent it

      to your terminal.

 

 

  To try something more ambitious, you can run an Ubuntu container with:

   $ docker run -it ubuntu bash

 

 

  For more examples and ideas, visit:

   http://docs.docker.com/userguide/

通过脚本安装

需要root或者能sudo的权限

yum包更新到最新

?

1

$ sudo yum update

运行Docker安装脚本

?

1

$ curl -sSL https://get.docker.com/ | sh

这个脚本会添加docker.repo仓库并且安装Docker

启动Docker守护进程

?

1

$ sudo service docker start

通过测试镜像运行一个容器来验证Docker是否安装正确

?

1

$ sudo docker run hello-world

创建一个Docker用户组

docker守护进程绑定在Unix socket 而不是 TCP 端口。默认情况下Unix socket属于root用户和具有sudo权限用户的使用范畴。出于这个原因,docker守护进程需要一直在root用户下面运行。

To avoid having to use sudo when you use the docker command, create a Unix group called docker and add users to it. When the docker daemon starts, it makes the ownership of the Unix socket read/writable by the docker group.

为了避免运行docker命令的时候需要使用sudo命令,创建一个叫docker的Unix用户组并将需要运行docker的用户添加进去。当开始运行docker守护进程,会令docker用户组的成员拥有Unix socket的读写权限。

创建docker用户组并添加用户:

1.需要root或者能sudo的权限
2.创建docker用户组并添加用户

?

1

sudo usermod -aG docker your_username

3.退出并且登录到your_username,如果在your_username下也建议退出再重新登录一次,这确保您的用户正在运行正确的权限。
4.验证运行docker已不再需要sudo命令

?

1

$ docker run hello-world

开机运行docker

?

1

$ sudo chkconfig docker on

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值