由于docker daemon需要绑定到主机的Unix socket而不是普通的TCP端口,而Unix socket的属主为root用户,所以其他用户只有在命令前添加sudo选项才能执行相关操作。
如果不想每次使用docker命令的时候还要额外的敲一下sudo,可以按照下面的方法配置一下。
创建一个docker组 $ sudo groupadd docker
添加当前用户到docker组
$ sudo usermod -aG docker $USER
登出,重新登录shell 验证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包更新到最新
?
添加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包更新到最新
?
运行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