资讯专栏INFORMATION COLUMN

Docker学习之路(二)四种系统下安装Docker的方法

BetaRabbit / 2848人阅读

摘要:如果查到的不是版的内核,可以用来升级然后更新启动加载器来加载新内核完成安装后,重启宿主机来启用新的内核重启之后,可以用确认是否运行了新版本内核。如果是较低版本的系统,需要先更新内核。然后重复上面的步骤即可。

本人的学习笔记,主要是对《我的第一本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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26366.html

相关文章

  • 【推荐】最新200篇:技术文章整理

    摘要:作为面试官,我是如何甄别应聘者的包装程度语言和等其他语言的对比分析和主从复制的原理详解和持久化的原理是什么面试中经常被问到的持久化与恢复实现故障恢复自动化详解哨兵技术查漏补缺最易错过的技术要点大扫盲意外宕机不难解决,但你真的懂数据恢复吗每秒 作为面试官,我是如何甄别应聘者的包装程度Go语言和Java、python等其他语言的对比分析 Redis和MySQL Redis:主从复制的原理详...

    BicycleWarrior 评论0 收藏0
  • 【推荐】最新200篇:技术文章整理

    摘要:作为面试官,我是如何甄别应聘者的包装程度语言和等其他语言的对比分析和主从复制的原理详解和持久化的原理是什么面试中经常被问到的持久化与恢复实现故障恢复自动化详解哨兵技术查漏补缺最易错过的技术要点大扫盲意外宕机不难解决,但你真的懂数据恢复吗每秒 作为面试官,我是如何甄别应聘者的包装程度Go语言和Java、python等其他语言的对比分析 Redis和MySQL Redis:主从复制的原理详...

    Mr_houzi 评论0 收藏0
  • 【推荐】最新200篇:技术文章整理

    摘要:作为面试官,我是如何甄别应聘者的包装程度语言和等其他语言的对比分析和主从复制的原理详解和持久化的原理是什么面试中经常被问到的持久化与恢复实现故障恢复自动化详解哨兵技术查漏补缺最易错过的技术要点大扫盲意外宕机不难解决,但你真的懂数据恢复吗每秒 作为面试官,我是如何甄别应聘者的包装程度Go语言和Java、python等其他语言的对比分析 Redis和MySQL Redis:主从复制的原理详...

    tommego 评论0 收藏0
  • Docker学习之路(五)镜像基本操作

    摘要:一个镜像可以放到另一个京广线的顶部,位于下面的镜像称为父镜像,最底部的称为基础镜像。镜像是基于联合文件系统的一种层式的结构,由一系列指令一步步构建处理。拉取镜像使用命令启动一个镜像时,会检查本地是否存在该镜像。 什么是镜像 Docker镜像时由文件系统叠加而成,最底端是一个引导文件系统,即bootfs,这很像典型的Linux/Unix的引导文件系统。Docker用户几乎永远不会和引导...

    yunhao 评论0 收藏0
  • Docker学习之路(六)用commit命令创建镜像

    摘要:邮件激活后,可以测试登录这条命令会完成登录,并将认证信息报错起来供后面使用。所以先用命令退出容器,再运行命令命令中,指定了要提交的修改过的容器的目标镜像仓库镜像名。提交的知识创建容器的镜像与容器的当前状态之间的差异部分,很轻量。 假期快要结束了,干点正事,接着Docker的学习。 构建镜像 构建镜像的两种方法: 使用docker commit 命令 使用docker build...

    KoreyLee 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<