在开始安装docker之前先了解一下docker知识架构吧,如下图

centos6.5 64bit 上安装 docker-1.7.1 权威实践教程

Docker平台技术如下

centos6.5 64bit 上安装 docker-1.7.1 权威实践教程

1.检查系统和内核版本

[root@centos01 ~]# uname -r
2.6.32-431.el6.x86_64
[root@centos01 ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)

2.检查系统是否已经安装了docker

[root@centos01 ~]# rpm -qa |grep -i docker

3.centos6.5需要安装额外的EPEL镜像源才可以用yum来拉取安装docker, 所以先安装EPEL镜像源

[root@centos01 ~]# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
--2017-12-13 23:08:48-- https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
Resolving dl.fedoraproject.org... 209.132.181.23, 209.132.181.24, 209.132.181.25
Connecting to dl.fedoraproject.org|209.132.181.23|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 14540 (14K) [application/x-rpm]
Saving to: “epel-release-latest-6.noarch.rpm”

100%[=======================================>] 14,540 88.2K/s in 0.2s

2017-12-13 23:08:50 (88.2 KB/s) - “epel-release-latest-6.noarch.rpm” saved [14540/14540]

[root@centos01 ~]# ls -lt epel-release-latest-6.noarch.rpm
-rw-r--r--. 1 root root 14540 Nov 5 2012 epel-release-latest-6.noarch.rpm
[root@centos01 ~]# rpm -ivh epel-release-latest-6.noarch.rpm
warning: epel-release-latest-6.noarch.rpm.1: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing... ########################################### [100%]
1:epel-release ########################################### [100%]

4.开始安装docker服务器端

[root@centos01 ~]# yum install docker-io -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

  • base: mirrors.163.com
  • epel: ftp.cuhk.edu.hk
  • extras: ftp.sjtu.edu.cn
  • updates: mirrors.163.com
    Setting up Install Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package docker-io.x86_64 0:1.7.1-2.el6 will be installed
    --> Processing Dependency: bridge-utils for package: docker-io-1.7.1-2.el6.x86_64
    --> Processing Dependency: device-mapper-libs for package: docker-io-1.7.1-2.el6.x86_64
    --> Processing Dependency: libcgroup for package: docker-io-1.7.1-2.el6.x86_64
    --> Processing Dependency: libdevmapper.so.1.02(Base)(64bit) for package: docker-io-1.7.1-2.el6.x86_64
    --> Processing Dependency: lxc for package: docker-io-1.7.1-2.el6.x86_64
    --> Processing Dependency: xz for package: docker-io-1.7.1-2.el6.x86_64
    --> Processing Dependency: libdevmapper.so.1.02()(64bit) for package: docker-io-1.7.1-2.el6.x86_64
    --> Running transaction check
    ---> Package bridge-utils.x86_64 0:1.2-10.el6 will be installed
    ---> Package device-mapper-libs.x86_64 0:1.02.117-12.el6_9.1 will be installed
    --> Processing Dependency: device-mapper = 1.02.117-12.el6_9.1 for package: device-mapper-libs-1.02.117-12.el6_9.1.x86_64
    --> Processing Dependency: libudev.so.0()(64bit) for package: device-mapper-libs-1.02.117-12.el6_9.1.x86_64
    ---> Package libcgroup.x86_64 0:0.40.rc1-24.el6_9 will be installed
    ---> Package lxc.x86_64 0:1.0.11-1.el6 will be installed
    --> Processing Dependency: lua-lxc(x86-64) = 1.0.11-1.el6 for package: lxc-1.0.11-1.el6.x86_64
    --> Processing Dependency: lua-alt-getopt for package: lxc-1.0.11-1.el6.x86_64
    --> Processing Dependency: liblxc.so.1()(64bit) for package: lxc-1.0.11-1.el6.x86_64
    ---> Package xz.x86_64 0:4.999.9-0.5.beta.20091007git.el6 will be installed
    --> Processing Dependency: xz-libs = 4.999.9-0.5.beta.20091007git.el6 for package: xz-4.999.9-0.5.beta.20091007git.el6.x86_64
    --> Running transaction check
    ---> Package device-mapper.x86_64 0:1.02.117-12.el6_9.1 will be installed
    ---> Package libudev.x86_64 0:147-2.73.el6_8.2 will be installed
    ---> Package lua-alt-getopt.noarch 0:0.7.0-1.el6 will be installed
    ---> Package lua-lxc.x86_64 0:1.0.11-1.el6 will be installed
    --> Processing Dependency: lua-filesystem for package: lua-lxc-1.0.11-1.el6.x86_64
    ---> Package lxc-libs.x86_64 0:1.0.11-1.el6 will be installed
    --> Processing Dependency: rsync for package: lxc-libs-1.0.11-1.el6.x86_64
    ---> Package xz-libs.x86_64 0:4.999.9-0.3.beta.20091007git.el6 will be updated
    ---> Package xz-libs.x86_64 0:4.999.9-0.5.beta.20091007git.el6 will be an update
    --> Running transaction check
    ---> Package lua-filesystem.x86_64 0:1.4.2-1.el6 will be installed
    ---> Package rsync.x86_64 0:3.0.6-12.el6 will be installed
    --> Finished Dependency Resolution

Dependencies Resolved

=================================================================================
Package Arch Version Repository
Size

================================================================================

Installing:
docker-io x86_64 1.7.1-2.el6 epel 4.6 M
Installing for dependencies:
bridge-utils x86_64 1.2-10.el6 base 30 k
device-mapper x86_64 1.02.117-12.el6_9.1 updates 218 k
device-mapper-libs x86_64 1.02.117-12.el6_9.1 updates 257 k
libcgroup x86_64 0.40.rc1-24.el6_9 updates 131 k
libudev x86_64 147-2.73.el6_8.2 base 78 k
lua-alt-getopt noarch 0.7.0-1.el6 epel 6.9 k
lua-filesystem x86_64 1.4.2-1.el6 epel 24 k
lua-lxc x86_64 1.0.11-1.el6 epel 16 k
lxc x86_64 1.0.11-1.el6 epel 124 k
lxc-libs x86_64 1.0.11-1.el6 epel 257 k
rsync x86_64 3.0.6-12.el6 base 335 k
xz x86_64 4.999.9-0.5.beta.20091007git.el6 base 137 k
Updating for dependencies:
xz-libs x86_64 4.999.9-0.5.beta.20091007git.el6 base 89 k

Transaction Summary

=================================================================================

Install 13 Package(s)
Upgrade 1 Package(s)

Total download size: 6.2 M
Downloading Packages:
(1/14): bridge-utils-1.2-10.el6.x86_64.rpm | 30 kB 00:00
(2/14): device-mapper-1.02.117-12.el6_9.1.x86_64.rpm | 218 kB 00:00
(3/14): device-mapper-libs-1.02.117-12.el6_9.1.x86_64.rpm | 257 kB 00:00
(4/14): docker-io-1.7.1-2.el6.x86_64.rpm | 4.6 MB 00:08
(5/14): libcgroup-0.40.rc1-24.el6_9.x86_64.rpm | 131 kB 00:00
(6/14): libudev-147-2.73.el6_8.2.x86_64.rpm | 78 kB 00:00
(7/14): lua-alt-getopt-0.7.0-1.el6.noarch.rpm | 6.9 kB 00:00
(8/14): lua-filesystem-1.4.2-1.el6.x86_64.rpm | 24 kB 00:00
(9/14): lua-lxc-1.0.11-1.el6.x86_64.rpm | 16 kB 00:00
(10/14): lxc-1.0.11-1.el6.x86_64.rpm | 124 kB 00:00
(11/14): lxc-libs-1.0.11-1.el6.x86_64.rpm | 257 kB 00:00
(12/14): rsync-3.0.6-12.el6.x86_64.rpm | 335 kB 00:00
(13/14): xz-4.999.9-0.5.beta.20091007git.el6.x86_64.rpm | 137 kB 00:00
(14/14): xz-libs-4.999.9-0.5.beta.20091007git.el6.x86_64. | 89 kB 00:00


Total 346 kB/s | 6.2 MB 00:18
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : libudev-147-2.73.el6_8.2.x86_64 1/15
Installing : device-mapper-libs-1.02.117-12.el6_9.1.x86_64 2/15
Installing : device-mapper-1.02.117-12.el6_9.1.x86_64 3/15
Updating : xz-libs-4.999.9-0.5.beta.20091007git.el6.x86_64 4/15
Installing : xz-4.999.9-0.5.beta.20091007git.el6.x86_64 5/15
Installing : lua-filesystem-1.4.2-1.el6.x86_64 6/15
Installing : lua-alt-getopt-0.7.0-1.el6.noarch 7/15
Installing : rsync-3.0.6-12.el6.x86_64 8/15
Installing : lxc-libs-1.0.11-1.el6.x86_64 9/15
Installing : lua-lxc-1.0.11-1.el6.x86_64 10/15
Installing : lxc-1.0.11-1.el6.x86_64 11/15
Installing : libcgroup-0.40.rc1-24.el6_9.x86_64 12/15
Installing : bridge-utils-1.2-10.el6.x86_64 13/15
Installing : docker-io-1.7.1-2.el6.x86_64 14/15
Cleanup : xz-libs-4.999.9-0.3.beta.20091007git.el6.x86_64 15/15
Verifying : libudev-147-2.73.el6_8.2.x86_64 1/15
Verifying : lxc-1.0.11-1.el6.x86_64 2/15
Verifying : lua-lxc-1.0.11-1.el6.x86_64 3/15
Verifying : bridge-utils-1.2-10.el6.x86_64 4/15
Verifying : lxc-libs-1.0.11-1.el6.x86_64 5/15
Verifying : libcgroup-0.40.rc1-24.el6_9.x86_64 6/15
Verifying : device-mapper-libs-1.02.117-12.el6_9.1.x86_64 7/15
Verifying : xz-4.999.9-0.5.beta.20091007git.el6.x86_64 8/15
Verifying : docker-io-1.7.1-2.el6.x86_64 9/15
Verifying : rsync-3.0.6-12.el6.x86_64 10/15
Verifying : lua-alt-getopt-0.7.0-1.el6.noarch 11/15
Verifying : lua-filesystem-1.4.2-1.el6.x86_64 12/15
Verifying : device-mapper-1.02.117-12.el6_9.1.x86_64 13/15
Verifying : xz-libs-4.999.9-0.5.beta.20091007git.el6.x86_64 14/15
Verifying : xz-libs-4.999.9-0.3.beta.20091007git.el6.x86_64 15/15

Installed:
docker-io.x86_64 0:1.7.1-2.el6

Dependency Installed:
bridge-utils.x86_64 0:1.2-10.el6
device-mapper.x86_64 0:1.02.117-12.el6_9.1
device-mapper-libs.x86_64 0:1.02.117-12.el6_9.1
libcgroup.x86_64 0:0.40.rc1-24.el6_9
libudev.x86_64 0:147-2.73.el6_8.2
lua-alt-getopt.noarch 0:0.7.0-1.el6
lua-filesystem.x86_64 0:1.4.2-1.el6
lua-lxc.x86_64 0:1.0.11-1.el6
lxc.x86_64 0:1.0.11-1.el6
lxc-libs.x86_64 0:1.0.11-1.el6
rsync.x86_64 0:3.0.6-12.el6
xz.x86_64 0:4.999.9-0.5.beta.20091007git.el6

Dependency Updated:
xz-libs.x86_64 0:4.999.9-0.5.beta.20091007git.el6

Complete!

5.检查是否已经安装docker 及版本

[root@centos01 ~]# rpm -qa |grep -i docker
docker-io-1.7.1-2.el6.x86_64

[root@centos01 ~]# docker version
Client version: 1.7.1
Client API version: 1.19
Go version (client): go1.4.2
Git commit (client): 786b29d/1.7.1
OS/Arch (client): linux/amd64
Server version: 1.7.1
Server API version: 1.19
Go version (server): go1.4.2
Git commit (server): 786b29d/1.7.1
OS/Arch (server): linux/amd64

6.启动docker 服务
[root@centos01 ~]# service docker start
Starting cgconfig service: [ OK ]
Starting docker: [ OK ]

[root@centos01 ~]# ps -ef | grep docker
root 1200 1 1 23:18 pts/0 00:00:00 /usr/bin/docker -d
root 1315 1057 0 23:19 pts/0 00:00:00 grep docker

[root@centos01 ~]# netstat -an | grep docker
unix 2 [ ACC ] STREAM LISTENING 12699 /var/run/docker.sock

7.设置docker 开机自启动
[root@centos01 ~]# chkconfig docker on
[root@centos01 ~]# chkconfig --list | grep docker
docker 0:off 1:off 2:on 3:on 4:on 5:on 6:off

8.从docker hub中下载centos 镜像

[root@centos01 ~]# docker pull centos
latest: Pulling from centos
99d067612410: Pull complete
fb2a47779ef8: Pull complete
358bf47a7a64: Pull complete
Digest: sha256:7192ec204ee4b953a9c9212ebd78575a334d041333d8f58387aa648f72a7fd8a
Status: Downloaded newer image for centos:latest

9.检查centos镜像是否已经下载成功

[root@centos01 ~]# docker images centos
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos latest 358bf47a7a64 13 days ago 203.5 MB
[root@centos01 ~]#

10.创建一个容器,并进入docker 镜像容器里

[root@centos01 ~]# docker run -i -t centos /bin/bash
[root@8bff017f6fd2 /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/docker-8:2-392684-8bff017f6fd2a261b2f44925a51c3d16cb25ef17e098f44af2bc69e6c47c6e08 9.9G 365M 9.0G 4% /
tmpfs 116M 0 116M 0% /dev
shm 64M 0 64M 0% /dev/shm
/dev/sda2 18G 1.7G 16G 10% /etc/hosts
[root@8bff017f6fd2 /]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@8bff017f6fd2 /]# uname -r
2.6.32-431.el6.x86_64
[root@8bff017f6fd2 /]#

上述表明已经成功。