1.1.0.3、从二进制包安装

Binaries

这个指令集是为骇客们准备的,方便他们在各种环境中快速的体验Docker。

在继续下面的话题前,你应该检查一下,你的系统上是否已经拥有一个可用的打包版本。我们给很多的系统提供相应的打包文件,并且持续更新它们。

检查运行时依赖

要正常运行,docker需要安装如下软件:

  • iptables 1.4(或更高) 
  • Git 1.7(或更高)
  • procps (或 可以提供类似 “ps” 的软件)
  • XZ Utils 4.9(或更高) 
  • 一个properly mounted cgroupfs 层次机构(having a single, all-encompassing “cgroup” mount point is not sufficient)

检测内核依赖

Docker 的 daemon 模式需要特定的内核特性。详情,检测你的系统参考安装指南

一个 3.10 Linux 内核是Docker正常运行的最小要求。低于3.10版本的内核缺少一些运行容器特性。这些老版本中恶名昭昭的bug会导致数据的丢失和在特定的条件下频繁出现“恐慌”。

最小版本 3.10 (或更新被维护的版本)Linux 内核是被推荐的。保持内容在最新的小版本,可以规避很多来自内核bug。

警告:安装定制性的内核时,需要考虑你的系统供应商是否支持它。所以,在你安装定制化的之前,请先咨询一下你的系统供应商。

警告:安装一个新的内核可能还不够,一些系统供应商提供的包太老或这个跟新的内核不兼容。

注意,Docker还有一个客户端模式,它几乎可以在任何Linux内核中(甚至可以在OS X 上构建)。

尽量启用AppArmor 和 SELinux

请使用 AppArmor 或 SELinux,如果你的Linux系统支持这两种功能。这将帮助我们提升系统的安全性和规避一些漏洞。你的系统文档会提供详细的设置,关于如何有效的运用安全的原理。

有些Linux系统默认开启 AppArmor 或 SELinux。但是,内核满足不了最小的需求(3.10或更高)。升级内核到 3.10 或更高,在这样的一个系统上,可能还不能够启动Docker和运行容器。系统提供用户空间工具与AppArmor/SELinux的版本不兼容,内核可能会阻止Docker 运行或启动容器,这样会导致容器出现一些诡异的行为。

警告:如果启用其中任何一个安全机制,不应该为了启动Docker或它(docker)的容器而关闭它。这样会降系统环境的安全性,失去系统供应商的支持,并且可能打破在严格的监管环境法规和安全政策。

获取Docker 二进制执行包

你可以下载任何一个最新的发行包或一个指定版本。下载完二级制文件后,你必须更改问价的执行权限。

在Linux和OS X上设置文件的可执行权限:

$ chmod +x docker

从GitHub上获取可用版本的列表,查看 docker/docker 发行页面

注意:

1) 通过分别在URL上追加.md5 和 .sha256,你可以获得MD5 和 SHA256散列 

2) 通过分别在URL上追加.tgz,你可以获得压缩过的二进制文件

获取 Linux 二进制文件

使用下面的URL可以下载Linux对应的最新版本:

https://get.docker.com/builds/Linux/i386/docker-latest

https://get.docker.com/builds/Linux/x86_64/docker-latest

使用下面的URL模式可以下载特定版本:

https://get.docker.com/builds/Linux/i386/docker-<version>

https://get.docker.com/builds/Linux/x86_64/docker-<version>

例如:

https://get.docker.com/builds/Linux/i386/docker-1.6.0

https://get.docker.com/builds/Linux/x86_64/docker-1.6.0

获取Mac OS X 二进制文件

Mac OS X 二进制只是一个客户端。你不能使用它去启动 docker daemon。使用如下URL可以获得最新版本:

https://get.docker.com/builds/Darwin/i386/docker-latest

https://get.docker.com/builds/Darwin/x86_64/docker-latest

使用下面的URL模式,可以获得特定版本:

https://get.docker.com/builds/Darwin/i386/docker-<version>

https://get.docker.com/builds/Darwin/x86_64/docker-<version>

例如:

https://get.docker.com/builds/Darwin/i386/docker-1.6.0

https://get.docker.com/builds/Darwin/x86_64/docker-1.6.0

获取Windows二进制文件

你也可以下载 1.6.0 (或以上)的Windows客户端。此外,它只是一个客户端,你不能使用它启动 docker daemon.。使用如下URL,可以获得最新的版本:

https://get.docker.com/builds/Windows/i386/docker-latest.exe

https://get.docker.com/builds/Windows/x86_64/docker-latest.exe

使用如下的URL模式,可以下载特定的版本:

https://get.docker.com/builds/Windows/i386/docker-<version>.exe

https://get.docker.com/builds/Windows/x86_64/docker-<version>.exe

例如:

https://get.docker.com/builds/Windows/i386/docker-1.6.0.exe

https://get.docker.com/builds/Windows/x86_64/docker-1.6.0.exe

启动 Docker daemon

# start the docker in daemon mode from the directory you unpacked
$ sudo ./docker daemon &

提供非根访问

docker daemon 总是被根用户启动,并且 docker daemon 绑定到一个Unix socket 替代一个TCP端口。默认情况下,Unix socket属于根用户,所以,你需呀使用 sudo 才能访问它。

如果你(或你的Docker安装者)创建一个命名为docker的 Unix组,并添往里添加用户,之后,当启动daemon时,docker daemon 将Unix Socket的读/写权限分配给docker组。docker daemon 必须且总是被根用户启动,但是,如果你以一个被添加进docker组用户去启动 docker 客户端,之后,所有的客户端命令你都不需要再追加 sudo 。

警告:docker组(或使用 -G 指定组)等同root;查看Docker Daemon 攻击面了解更多 。

升级

手动升级你的Docker,先杀死docker daemon:

$ killall docker

然后,按照常规的步骤进行安装。

运行你的第一个容器!

# check your docker version
$ sudo ./docker version

# run a container and open an interactive shell in the container
$ sudo ./docker run -i -t ubuntu /bin/bash

通过用户指南继续学习。


 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章