From 5fa1b6024a65b66a81fed1559f6cbddc7594e2b1 Mon Sep 17 00:00:00 2001 From: ytgs Date: Sun, 17 Apr 2016 19:08:10 +0800 Subject: [PATCH 01/12] Update basic_concept/image.md --- basic_concept/image.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/basic_concept/image.md b/basic_concept/image.md index 444cc85..1946da2 100644 --- a/basic_concept/image.md +++ b/basic_concept/image.md @@ -1,5 +1,5 @@ ## Docker 镜像 -Docker 镜像就是一个只读的模板。 +Docker 镜像(Image)就是一个只读的模板。 例如:一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。 From 2fceed22ac9c5d6e33fe48346536830073ad454d Mon Sep 17 00:00:00 2001 From: ytgs Date: Sun, 17 Apr 2016 19:08:31 +0800 Subject: [PATCH 02/12] Update basic_concept/container.md --- basic_concept/container.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/basic_concept/container.md b/basic_concept/container.md index 77e47d4..f1797c5 100644 --- a/basic_concept/container.md +++ b/basic_concept/container.md @@ -1,5 +1,5 @@ ## Docker 容器 -Docker 利用容器来运行应用。 +Docker 利用容器(Container)来运行应用。 容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。 From 316b45f11a2d57efae012fd67d7f67095348983d Mon Sep 17 00:00:00 2001 From: ytgs Date: Sun, 17 Apr 2016 19:12:49 +0800 Subject: [PATCH 03/12] Update basic_concept/repository.md --- basic_concept/repository.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/basic_concept/repository.md b/basic_concept/repository.md index 542ed3d..16e5d01 100644 --- a/basic_concept/repository.md +++ b/basic_concept/repository.md @@ -1,11 +1,11 @@ ## Docker 仓库 -仓库是集中存放镜像文件的场所。有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。 +仓库(Repository)是集中存放镜像文件的场所。有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。 仓库分为公开仓库(Public)和私有仓库(Private)两种形式。 最大的公开仓库是 [Docker Hub](https://hub.docker.com),存放了数量庞大的镜像供用户下载。 -国内的公开仓库包括 [Docker Pool](http://www.dockerpool.com) 等,可以提供大陆用户更稳定快速的访问。 +国内的公开仓库包括 [Docker Pool](http://www.dockerpool.com) 、[灵雀云](http://hub.alauda.cn/)等,可以提供大陆用户更稳定快速的访问。 当然,用户也可以在本地网络内创建一个私有仓库。 From 55712f7bdf65d97cf515e174cd25f0d75d569df9 Mon Sep 17 00:00:00 2001 From: ytgs Date: Sun, 17 Apr 2016 19:34:35 +0800 Subject: [PATCH 04/12] Update basic_concept/repository.md --- basic_concept/repository.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/basic_concept/repository.md b/basic_concept/repository.md index 16e5d01..b1a8735 100644 --- a/basic_concept/repository.md +++ b/basic_concept/repository.md @@ -7,7 +7,7 @@ 最大的公开仓库是 [Docker Hub](https://hub.docker.com),存放了数量庞大的镜像供用户下载。 国内的公开仓库包括 [Docker Pool](http://www.dockerpool.com) 、[灵雀云](http://hub.alauda.cn/)等,可以提供大陆用户更稳定快速的访问。 -当然,用户也可以在本地网络内创建一个私有仓库。 +当然,用户也可以在本地网络内创建一个私有仓库(参考本文“私有仓库”部分)。 当用户创建了自己的镜像之后就可以使用 `push` 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 `pull` 下来就可以了。 From a6368a8091ef678784ef756fe33d22c1854a5445 Mon Sep 17 00:00:00 2001 From: ytgs Date: Sun, 17 Apr 2016 20:10:47 +0800 Subject: [PATCH 05/12] Update install/ubuntu.md --- install/ubuntu.md | 66 +++++++++++++++++++++++++++++++++-------------- 1 file changed, 47 insertions(+), 19 deletions(-) diff --git a/install/ubuntu.md b/install/ubuntu.md index ed176c0..2adcdff 100644 --- a/install/ubuntu.md +++ b/install/ubuntu.md @@ -2,6 +2,13 @@ ### 系统要求 +Docker 支持以下版本的Ubuntu操作系统: +- Ubuntu Xenial 16.04 (LTS) +- Ubuntu Wily 15.10 +- Ubuntu Trusty 14.04 (LTS) +- Ubuntu Precise 12.04 (LTS) + +### 预安装 Docker 目前只能安装在 64 位平台上,并且要求内核版本不低于 3.10,实际上内核越新越好,过低的内核版本容易造成功能的不稳定。 用户可以通过如下命令检查自己的内核版本详细信。 @@ -18,27 +25,11 @@ Linux version 3.16.0-43-generic (buildd@brownie) (gcc version 4.8.2 (Ubuntu 4.8. Docker 目前支持的最低 Ubuntu 版本为 12.04 LTS,但实际上从稳定性上考虑,推荐至少使用 14.04 LTS 版本。 -如果使用 12.04 LTS 版本,首先要更新系统内核和安装可能需要的软件包,包括 - -* linux-image-generic-lts-trusty (必备) -* linux-headers-generic-lts-trusty (必备) -* xserver-xorg-lts-trusty (带图形界面时必备) -* libgl1-mesa-glx-lts-trusty(带图形界面时必备) - - -另外,为了让 Docker 使用 aufs 存储,推荐安装 `linux-image-extra` 软件包。 - -``` -$ sudo apt-get install -y linux-image-extra-$(uname -r) -``` - -*注:Ubuntu 发行版中,LTS (Long-Term-Support)意味着更稳定的功能和更长期(目前为 5 年)的升级支持,生产环境中尽量使用 LTS 版本。* - -### 添加镜像源 +#### 更新APT镜像源 首先需要安装 apt-transport-https 包支持 https 协议的源。 ``` -$ sudo apt-get install -y apt-transport-https +$ sudo apt-get install apt-transport-https ca-certificates ``` 添加源的 gpg 密钥。 @@ -52,7 +43,7 @@ $ lsb_release -c Codename: trusty ``` -一般的,12.04 (LTS) 代号为 precise,14.04 (LTS) 代号为 trusty,15.04 代号为 vivid,15.10 代号为 wily。这里获取到代号为 trusty。 +一般的,12.04 (LTS) 代号为 precise,14.04 (LTS) 代号为 trusty,15.04 代号为 vivid,15.10 代号为 wily,16.04 代号为Xenial 。这里获取到代号为 trusty。 接下来就可以添加 Docker 的官方 apt 软件源了。通过下面命令创建 `/etc/apt/sources.list.d/docker.list` 文件,并写入源的地址内容。非 trusty 版本的系统注意修改为自己对应的代号。 @@ -67,6 +58,43 @@ EOF $ sudo apt-get update ``` + +#### 分版本的预安装任务 + +##### 高于 12.04 LTS的版本 + +- - Ubuntu Xenial 16.04 (LTS) +- Ubuntu Wily 15.10 +- Ubuntu Trusty 14.04 (LTS) + + +1. 为了让 Docker 使用 aufs 存储,推荐安装 `linux-image-extra` 软件包。 +``` +$ sudo apt-get install -y linux-image-extra-$(uname -r) +``` +2. 在 Ubuntu 14.04 或者 12.04上安装Docker,需要安装`apparmor`(apparmor是Linux内核的一个安全模块,新版本的Ubuntu已经被整合到内核): +``` +$ sudo apt-get install apparmor +``` + +##### 12.04 LTS版本 +如果使用 12.04 LTS 版本,首先要更新系统内核和安装可能需要的软件包,包括 + +* linux-image-generic-lts-trusty (必备) +* linux-headers-generic-lts-trusty (必备) +* xserver-xorg-lts-trusty (带图形界面时必备) +* libgl1-mesa-glx-lts-trusty(带图形界面时必备) + +安装命令(根据环境和要求不同,选择安装上述软件包),如: +``` +$ sudo apt-get install linux-image-generic-lts-trusty +``` + +当然,12.04 LTS 还要根据需要安装`linux-image-extra` 和 `apparmor` 软件包。 + +*注:Ubuntu 发行版中,LTS (Long-Term-Support)意味着更稳定的功能和更长期(目前为 5 年)的升级支持,生产环境中尽量使用 LTS 版本。* + + ### 安装 Docker 在成功添加源之后,就可以安装最新版本的 Docker 了,软件包名称为 docker-engine。 From 33bfa4c9dc2585107a9fa13a6a1656c073b00208 Mon Sep 17 00:00:00 2001 From: ytgs Date: Sun, 17 Apr 2016 21:08:21 +0800 Subject: [PATCH 06/12] Update install/ubuntu.md --- install/ubuntu.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/install/ubuntu.md b/install/ubuntu.md index 2adcdff..9199e15 100644 --- a/install/ubuntu.md +++ b/install/ubuntu.md @@ -103,3 +103,6 @@ $ sudo apt-get install -y docker-engine ``` 如果系统中存在旧版本的 Docker (lxc-docker),会提示是否先删除,选择是即可。 + +### 其他可选配置 +参见 [docker官方配置文档。](https://docs.docker.com/engine/installation/linux/ubuntulinux/) \ No newline at end of file From c9555eb0f5f1fe6fc4f5bb8f9dda5105ae0b13e9 Mon Sep 17 00:00:00 2001 From: ytgs Date: Sun, 17 Apr 2016 21:28:41 +0800 Subject: [PATCH 07/12] Update SUMMARY.md --- SUMMARY.md | 1 + 1 file changed, 1 insertion(+) diff --git a/SUMMARY.md b/SUMMARY.md index 8a42ba3..698d201 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -11,6 +11,7 @@ * [安装](install/README.md) * [Ubuntu](install/ubuntu.md) * [CentOS](install/centos.md) + * Debian * [镜像](image/README.md) * [获取镜像](image/pull.md) * [列出](image/list.md) From bebc4f646c36c31ef7a2ac2ba6266ce4e0d5740d Mon Sep 17 00:00:00 2001 From: ytgs Date: Sun, 17 Apr 2016 21:28:47 +0800 Subject: [PATCH 08/12] Create install/debian.md --- install/debian.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 install/debian.md diff --git a/install/debian.md b/install/debian.md new file mode 100644 index 0000000..48ab09e --- /dev/null +++ b/install/debian.md @@ -0,0 +1,2 @@ +# Debian + From 45b040222610ff1679bdd77a2f54b1fe18d99c02 Mon Sep 17 00:00:00 2001 From: ytgs Date: Sun, 17 Apr 2016 21:28:48 +0800 Subject: [PATCH 09/12] Update SUMMARY.md --- SUMMARY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SUMMARY.md b/SUMMARY.md index 698d201..27874ae 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -11,7 +11,7 @@ * [安装](install/README.md) * [Ubuntu](install/ubuntu.md) * [CentOS](install/centos.md) - * Debian + * [Debian](install/debian.md) * [镜像](image/README.md) * [获取镜像](image/pull.md) * [列出](image/list.md) From 7d4df6e369b6b204ce0d100fd0700d8f8ee5c0d3 Mon Sep 17 00:00:00 2001 From: ytgs Date: Sun, 17 Apr 2016 21:29:12 +0800 Subject: [PATCH 10/12] Update install/README.md --- install/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/README.md b/install/README.md index 3346e02..ca5642d 100644 --- a/install/README.md +++ b/install/README.md @@ -1,2 +1,2 @@ # 安装 -官方网站上有各种环境下的 [安装指南](https://docs.docker.com/installation/#installation),这里主要介绍下Ubuntu和CentOS系列的安装。 +官方网站上有各种环境下的 [安装指南](https://docs.docker.com/installation/#installation),这里主要介绍下Ubuntu、CentOS和Debian系列的安装。 From 1089796d49041d3b0b8a0a30284df7aab534b9d8 Mon Sep 17 00:00:00 2001 From: ytgs Date: Sun, 17 Apr 2016 21:42:43 +0800 Subject: [PATCH 11/12] Update install/debian.md --- install/debian.md | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/install/debian.md b/install/debian.md index 48ab09e..04e9fc8 100644 --- a/install/debian.md +++ b/install/debian.md @@ -1,2 +1,35 @@ -# Debian +# Debian操作系统安装Docker +##支持的版本 +- Debian testing stretch (64-bit) +- Debian 8.0 Jessie (64-bit) +- Debian 7.7 Wheezy (64-bit) +##预安装 +Docker支持64位、内核高于3.10的Debian操作系统,内核低于3.10将导致数据丢失和系统不稳定等问题。 +查看内核版本使用以下命令: +``` +$ uname -r +``` +###更新APT仓库 +Docker的APT仓库包含了1.7.1及以上版本的Docker,安装前需要更新APT设置,来使用新的仓库: +1. 清理旧的仓库信息 +```sh + $ apt-get purge lxc-docker* + $ apt-get purge docker.io* +``` +2. 更新和安装软件包 +```sh + $ apt-get update + $ apt-get install apt-transport-https ca-certificates +``` +3. 添加GPG键 +``` + $ apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D +``` +4. 添加APT源 + - 编辑文件 ```/etc/apt/sources.list.d/docker.list```,清理已存在的信息 +5. 校验安装结果 +##安装Docker +##为非root用户授权 +##更新Docker +##卸载Docker From 6e5aeba187baaf7cfa9ab52c79fd97a124332d56 Mon Sep 17 00:00:00 2001 From: ytgs Date: Sun, 17 Apr 2016 22:01:33 +0800 Subject: [PATCH 12/12] Update install/debian.md --- install/debian.md | 64 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 58 insertions(+), 6 deletions(-) diff --git a/install/debian.md b/install/debian.md index 04e9fc8..7c501f9 100644 --- a/install/debian.md +++ b/install/debian.md @@ -26,10 +26,62 @@ Docker的APT仓库包含了1.7.1及以上版本的Docker,安装前需要更新 $ apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D ``` 4. 添加APT源 - - 编辑文件 ```/etc/apt/sources.list.d/docker.list```,清理已存在的信息 -5. 校验安装结果 -##安装Docker -##为非root用户授权 -##更新Docker -##卸载Docker +编辑文件 ```/etc/apt/sources.list.d/docker.list```,清理已存在的信息,写入APT源地址内容。以下以Debian Jessie为例,非Jessie版本的系统注意修改为自己对应的代号。 +```sh +$ sudo cat < /etc/apt/sources.list.d/docker.list +deb https://apt.dockerproject.org/repo debian-jessie main +EOF +``` + +其他两个版本内容: +``` +deb https://apt.dockerproject.org/repo debian-wheezy main +``` +```deb https://apt.dockerproject.org/repo debian-stretch main +``` +5. 校验安装结果 +``` + $ apt-cache policy docker-engine +docker-engine: + Installed: 1.11.0-0~jessie + Candidate: 1.11.0-0~jessie + Version table: + *** 1.11.0-0~jessie 0 + 500 https://apt.dockerproject.org/repo/ debian-jessie/main amd64 Packages + 100 /var/lib/dpkg/status + ..... +``` +以后,当执行```apt-get upgrade```等命令时,将使用新设置的的APT源。 + +##安装Docker +``` +$ sudo apt-get install docker-engine +``` +##为非root用户授权 +``` +# 如果没有就建立一个Docker组. +$ sudo groupadd docker + +# 增加一个用户(用真实的名字替换下面的${USER})到docker组,需重登陆来生效。 +$ sudo gpasswd -a ${USER} docker + +# 重启docker服务 +$ sudo service docker restart +``` +##更新Docker +``` +$ apt-get upgrade docker-engine +``` +##卸载Docker +```sh +# 卸载软件包 +$ sudo apt-get purge docker-engine + +#卸载依赖包 +$ sudo apt-get autoremove --purge docker-engine + +#如有必要,执行以下命令,删除全部镜像、容器、数据卷和其他docker相关用户信息: +$ rm -rf /var/lib/docker + +```