Centos下安装docker

jopen 8年前

官方原文链接 https://docs.docker.com/engine/installation/centos/

通过yum安装

需要root或者能sudo的权限

yum包更新到最新

$ sudo yum update

添加Docker yum源

$ 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包

$ sudo yum install docker-engine

启动Docker守护进程

$ sudo service docker start

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

$ 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包更新到最新

$ sudo yum update

运行Docker安装脚本

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

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

启动Docker守护进程

$ sudo service docker start

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

$ 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用户组并添加用户

    sudo usermod -aG docker your_username
  3. 退出并且登录到your_username,如果在your_username下也建议退出再重新登录一次,这确保您的用户正在运行正确的权限。

  4. 验证运行docker已不再需要sudo命令

    $ docker run hello-world

开机运行docker

$ sudo chkconfig docker on

来自: http://segmentfault.com/a/1190000004313022