本人的学习笔记,主要是对《我的第一本Docker书》、《Docker —— 从入门到实践》的学习记录,并结合其他各种资源的学习。这次记录了4种常见系统的Docker安装方法,这些系统我不是都有,但是也记录一下,也许以后用得上。
支持的平台
Docker目前已经支持非常多的Linux平台,Ubuntu、Red Hat企业版Linux、Debian、CentOs、Fedora、Oracle Linux等。如果使用虚拟环境,甚至可以在OS X 和 windows中运行。
安装的条件
- Docker目前只能在64位CPU架构的计算机上运行(目前只能是x86_64 、amd64)。
- Linux 3.8 或 更高版本的内核。3.8之前的版本也能运行,但效果不同,遇到问题时大家都建议你升级。
-
内核必须支持一些是和的存储驱动(strage drive),例如:
- Device Manage
- AUFS
- vfs
- btrfs
- 默认存储驱动通常是Device
- 内核必须支持并开启cgroup和命名空间(banespace)功能
在Ubuntu中安装Docker
版本支持:Ubuntu 12.04 LTS 及之后的 64位版本 。但这并不意味着除此之外的Ubuntu或Debian不能按照Docker,只要有适当的内核和Docker所必须的支持,其他版本也能安装,但是不能得到官方的支持,遇到BUG无法得到官方的修复。
现假设我安装好的Ubuntu 12.04 LTS 64位电脑为darknight.example.com。
检查前提条件
内核
确认依据安装能满足要求的Linux内核。通过uname命令查询。
$ uname -a
Ubuntu 12.04.3及以上版本的默认内核是3.8.0 x86_64。
如果查到的不是3.8版的内核,可以用apt-get
来升级:
$ sudo apt-get update
$ sudo apt-get install linux-headers-3.8.0-27-generic
然后更新Grub启动加载器来加载新内核:
$ sudo update-grub
完成安装后,重启宿主机来启用新的3.8内核:
$sudo reboot
重启之后,可以用 uname -a
确认是否运行了新版本内核。
检查Device Mapper
这里使用Device Mapper昨晚存储驱动。2.6.9版本及以上的Linux内核已经集成了Device Mapper,并提供了一个将块设备映射到高级虚拟设备的方法。Device Mapper支持“自动精简配置”(thin-provisioning)的概念,可以在一种文件系统中存储多台虚拟设备(Docker镜像中的层)。所以很适合做Docker的存储驱动。
Ubuntu 12.04 以上都装好了,可以用一下代码检查:
$ ls l /sys/class/misc/device-mapper
如果没有出现device-mapper的信息,可以加载 dm_mod
模块:
$ sudo modprobe dm_mod
cgroup 和命名空间自2.6版本已经开始集成在Linux内核中了。
安装Docker
通过Docker源安装最新版本。要安装最新的 Docker 版本,首先需要安装 apt-transport-https
支持,之后通过添加源来安装。
$ sudo apt-get install apt-transport-https
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
$ sudo bash -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
$ sudo apt-get update
$ sudo apt-get install lxc-docker
如果是较低版本的 Ubuntu 系统,需要先更新内核。
$ sudo apt-get update
$ sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring
$ sudo reboot
然后重复上面的步骤即可。
安装之后启动 Docker 服务。
$ sudo service docker start
评论中一网友的建议:
ubuntu下,用以下这种脚本方式安装最方便,来源于sameersbn/docker-gitlab官方说明:
sudo apt-get purge docker.io
curl -s https://get.docker.io/ubuntu/ | sudo sh
sudo apt-get update
sudo apt-get install lxc-docker
OS X
使用 Boot2Docker 工具。
Boot2Docker 是一个极小的虚拟机,同时提供了一个包装脚本(wrapper script)对该虚拟机进行管理。
安装Boot2Docker的条件:
- VirtualBox
- Docker客户端
安装Boot2Docker
到GitHub安装,或者官网下载安装。官网有个视频可学。
启动Boot2Docker
进入系统的Application文件夹,找到Boot2Docker打开
测试Boot2Docker
通过本机的Docker客户端连接到Boot2Docker虚拟机中运行Docker守护进程,来测试Boot2Docker安装程序是否正常运行
$ docker info
当显示出Docker信息时就是安装成功运行了。
Windows
与OS X一样,用Boot2Docker安装。官网、GitHub。
同样需要两个条件:
- VirtualBox
- Docker客户端
下载好后运行脚本即可。
测试Boot2Docker
也是用以下命令测试:
$ docker info
当显示出Docker信息时就是安装成功运行了。
CentOS
对于 CentOS6,可以使用 EPEL 库安装 Docker,命令如下
$ sudo yum install http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm
$ sudo yum install docker-io
CentOS7
CentOS7 系统 CentOS-Extras 库中已带 Docker,可以直接安装:
$ sudo yum install docker
安装之后启动 Docker 服务,并让它随系统启动自动加载。
$ sudo service docker start
$ sudo chkconfig docker on