参考文档:https://docs.docker.com/engine/installation/linux/docker-ce/centos/#install-docker-ce
简介
docker包括:Community Edition (CE) and Enterprise Edition (EE),本文讲CE版本安装.
环境
CentOS release 6.8 (Final)
安装依赖
yum 开启centos-extras库,默认是开启的.如果被禁用,请参考:https://wiki.centos.org/AdditionalResources/Repositories 开启
安装步骤
1.删除旧版本的docker
如果有旧版本的docer,删除
$ sudo yum remove docker
docker-common
docker-selinux
docker-engine
2.安装docker
安装docker有四种方式:
1.yum安装
2.通过tar包安装
3.通过在线脚本安装
2.1 yum安装docker
1.安装必要工具
$ sudo yum install -y yum-utils
device-mapper-persistent-data
lvm2
2.安装yum资源库文件
$ sudo yum-config-manager
--add-repo
https://download.docker.com/linux/centos/docker-ce.repo
3.开启docker-ce-edge资源库
$ sudo yum-config-manager --enable docker-ce-edge
4.安装docker
sudo yum install docker-ce
或者指定特定docker版本
$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 17.09.ce-1.el7.centos docker-ce-stable
* updates: mirrors.sohu.com
Loading mirror speeds from cached hostfile
Loaded plugins: fastestmirror
* extras: mirrors.sohu.com
docker-ce.x86_64 17.10.0.ce-1.el7.centos docker-ce-edge
docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-edge
docker-ce.x86_64 17.07.0.ce-1.el7.centos docker-ce-edge
docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-edge
docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-edge
docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-edge
docker-ce.x86_64 17.05.0.ce-1.el7.centos docker-ce-edge
docker-ce.x86_64 17.04.0.ce-1.el7.centos docker-ce-edge
docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
* base: mirrors.sohu.com
Available Packages
$ sudo yum install <FULLY-QUALIFIED-PACKAGE-NAME>
这里安装docker最新的stable版本
[root@docker01 ~]# yum install docker-ce-17.09.0.ce
………….
---> Package libtool-ltdl.x86_64 0:2.2.6-15.5.el6 will be installed
---> Package xz.x86_64 0:4.999.9-0.5.beta.20091007git.el6 will be installed
--> Finished Dependency Resolution
Error: Package: docker-ce-17.09.0.ce-1.el7.centos.x86_64 (docker-ce-edge)
Requires: libsystemd.so.0()(64bit)
Error: Package: docker-ce-17.09.0.ce-1.el7.centos.x86_64 (docker-ce-edge)
Requires: container-selinux >= 2.9
Error: Package: docker-ce-17.09.0.ce-1.el7.centos.x86_64 (docker-ce-edge)
Requires: libseccomp.so.2()(64bit)
Error: Package: docker-ce-17.09.0.ce-1.el7.centos.x86_64 (docker-ce-edge)
Requires: libsystemd.so.0(LIBSYSTEMD_209)(64bit)
Error: Package: docker-ce-17.09.0.ce-1.el7.centos.x86_64 (docker-ce-edge)
Requires: libc.so.6(GLIBC_2.17)(64bit)
Error: Package: docker-ce-17.09.0.ce-1.el7.centos.x86_64 (docker-ce-edge)
Requires: systemd-units
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
当前系统glibc是2.12很旧的版本,需要升级glibc到2.17,而glibc2.17是centos7上用的,鉴于在centos6上安装glibc2.17有风险,不升级glibc.docker官网已经不提供cetnos6的docker下载.
还好在https://pkgs.org/download/docker-io 找到了docker-io(docker centos6安装包)
wget http://dl.fedoraproject.org/pub/epel/testing/6/x86_64//docker-io-1.7.1-4.el6.x86_64.rpm
yum install docker-io-1.7.1-4.el6.x86_64.rpm
Requires: lxc
需要安装lxc,但是默认的repo没有lxc安装包
wget https://codeload.github.com/lxc/lxc/zip/stable-1.1
mv stable-1.1 lxc-stable-1.1.zip
unzip lxc-stable-1.1.zip
cd lxc-stable-1.1/
执行检查脚本:
./autogen.sh
+ test -d autom4te.cache
+ libtoolize
./autogen.sh: line 27: libtoolize: command not found
+ exit 1
#装libtool
yum install libtool -y
……
执行检查脚本:
lxc-stable-2.1]# ./autogen.sh
+ test -d autom4te.cache
+ aclocal -I config
+ autoheader
+ autoconf
+ automake --add-missing --copy
configure.ac:31: installing `config/compile'
configure.ac:30: installing `config/config.guess'
configure.ac:30: installing `config/config.sub'
configure.ac:29: installing `config/install-sh'
configure.ac:29: installing `config/missing'
src/lua-lxc/Makefile.am: installing `config/depcomp'
#编译安装
./configure
……
configure: error: please install libcap-devel.
安装上面需要的包
yum install gnutls
2.2 tar安装
weg https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm
sudo yum install /path/to/package.rpm
sudo systemctl start docker
sudo docker run hello-world
2.3 在线脚本
事实证明以上的安装方式都行不通
mmp!
参考:http://www.cnblogs.com/zhenyuyaodidiao/p/5464422.html
安装epel
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
安装docker
yum install docker-io
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
epel/metalink | 6.2 kB 00:00
* base: mirrors.aliyun.com
* epel: mirrors.ustc.edu.cn
* extras: mirrors.aliyun.com
* updates: mirrors.sohu.com
epel | 4.3 kB 00:00
epel/primary_db | 5.9 MB 00:01
Resolving Dependencies
--> Running transaction check
---> Package docker-io.x86_64 0:1.7.1-2.el6 will be installed
--> Processing Dependency: lxc for package: docker-io-1.7.1-2.el6.x86_64
--> Running transaction check
---> Package lxc.x86_64 0:1.0.10-2.el6 will be installed
--> Processing Dependency: lua-lxc(x86-64) = 1.0.10-2.el6 for package: lxc-1.0.10-2.el6.x86_64
--> Processing Dependency: lua-alt-getopt for package: lxc-1.0.10-2.el6.x86_64
--> Processing Dependency: liblxc.so.1()(64bit) for package: lxc-1.0.10-2.el6.x86_64
--> Running transaction check
---> Package lua-alt-getopt.noarch 0:0.7.0-1.el6 will be installed
---> Package lua-lxc.x86_64 0:1.0.10-2.el6 will be installed
--> Processing Dependency: lua-filesystem for package: lua-lxc-1.0.10-2.el6.x86_64
---> Package lxc-libs.x86_64 0:1.0.10-2.el6 will be installed
--> Processing Dependency: rsync for package: lxc-libs-1.0.10-2.el6.x86_64
--> 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:
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.10-2.el6 epel 16 k
lxc x86_64 1.0.10-2.el6 epel 124 k
lxc-libs x86_64 1.0.10-2.el6 epel 258 k
rsync x86_64 3.0.6-12.el6 base 335 k
Transaction Summary
=====================================================================================================================================================================================================
Install 7 Package(s)
Total download size: 5.3 M
Installed size: 21 M
Is this ok [y/N]: y
Downloading Packages:
(1/7): docker-io-1.7.1-2.el6.x86_64.rpm | 4.6 MB 00:04
(2/7): lua-alt-getopt-0.7.0-1.el6.noarch.rpm | 6.9 kB 00:00
(3/7): lua-filesystem-1.4.2-1.el6.x86_64.rpm | 24 kB 00:00
(4/7): lua-lxc-1.0.10-2.el6.x86_64.rpm | 16 kB 00:00
(5/7): lxc-1.0.10-2.el6.x86_64.rpm | 124 kB 00:00
(6/7): lxc-libs-1.0.10-2.el6.x86_64.rpm | 258 kB 00:00
(7/7): rsync-3.0.6-12.el6.x86_64.rpm | 335 kB 00:00
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 502 kB/s | 5.3 MB 00:10
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Importing GPG key 0x0608B895:
Userid : EPEL (6) <epel@fedoraproject.org>
Package: epel-release-6-8.noarch (installed)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
Installing : lua-filesystem-1.4.2-1.el6.x86_64 1/7
Installing : lua-alt-getopt-0.7.0-1.el6.noarch 2/7
Installing : rsync-3.0.6-12.el6.x86_64 3/7
Installing : lxc-libs-1.0.10-2.el6.x86_64 4/7
Installing : lua-lxc-1.0.10-2.el6.x86_64 5/7
Installing : lxc-1.0.10-2.el6.x86_64 6/7
Installing : docker-io-1.7.1-2.el6.x86_64 7/7
Verifying : lua-lxc-1.0.10-2.el6.x86_64 1/7
Verifying : lxc-libs-1.0.10-2.el6.x86_64 2/7
Verifying : lxc-1.0.10-2.el6.x86_64 3/7
Verifying : docker-io-1.7.1-2.el6.x86_64 4/7
Verifying : rsync-3.0.6-12.el6.x86_64 5/7
Verifying : lua-alt-getopt-0.7.0-1.el6.noarch 6/7
Verifying : lua-filesystem-1.4.2-1.el6.x86_64 7/7
Installed:
docker-io.x86_64 0:1.7.1-2.el6
Dependency Installed:
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.10-2.el6 lxc.x86_64 0:1.0.10-2.el6 lxc-libs.x86_64 0:1.0.10-2.el6 rsync.x86_64 0:3.0.6-12.el6
Complete!
注意:
最docker-1.10以后彻底放弃了lxc转而使用libcontainer(go).建议安装最新的docker使用centos7.
网易镜像:
http://mirrors.163.com/centos/7.3.1611/isos/x86_64/