Fix format and update outdate content

This commit is contained in:
khs1994 2019-03-08 12:21:07 +08:00
parent 6a97772e79
commit c446640591
No known key found for this signature in database
GPG Key ID: 0A380828B1C243A7
13 changed files with 40 additions and 29 deletions

View File

@ -26,4 +26,4 @@ Docker Registry 公开服务是开放给用户使用、允许用户管理镜像
开源的 Docker Registry 镜像只提供了 [Docker Registry API](https://docs.docker.com/registry/spec/api/) 的服务端实现,足以支持 `docker` 命令,不影响使用。但不包含图形界面,以及镜像维护、用户管理、访问控制等高级功能。在官方的商业化版本 [Docker Trusted Registry](https://docs.docker.com/datacenter/dtr/2.0/) 中,提供了这些高级功能。 开源的 Docker Registry 镜像只提供了 [Docker Registry API](https://docs.docker.com/registry/spec/api/) 的服务端实现,足以支持 `docker` 命令,不影响使用。但不包含图形界面,以及镜像维护、用户管理、访问控制等高级功能。在官方的商业化版本 [Docker Trusted Registry](https://docs.docker.com/datacenter/dtr/2.0/) 中,提供了这些高级功能。
除了官方的 Docker Registry 外,还有第三方软件实现了 Docker Registry API甚至提供了用户界面以及一些高级功能。比如[VMWare Harbor](https://github.com/goharbor/harbor) 和 [Sonatype Nexus](../repository/nexus3_registry.md)。 除了官方的 Docker Registry 外,还有第三方软件实现了 Docker Registry API甚至提供了用户界面以及一些高级功能。比如[Harbor](https://github.com/goharbor/harbor) 和 [Sonatype Nexus](../repository/nexus3_registry.md)。

View File

@ -1,6 +1,6 @@
## 使用 Django ## 使用 Django
本小节内容适合 `Python` 开发人员阅读。 > 本小节内容适合 `Python` 开发人员阅读。
我们现在将使用 `Docker Compose` 配置并运行一个 `Django/PostgreSQL` 应用。 我们现在将使用 `Docker Compose` 配置并运行一个 `Django/PostgreSQL` 应用。

View File

@ -1,6 +1,6 @@
## 使用 Rails ## 使用 Rails
本小节内容适合 `Ruby` 开发人员阅读。 > 本小节内容适合 `Ruby` 开发人员阅读。
我们现在将使用 `Compose` 配置并运行一个 `Rails/PostgreSQL` 应用。 我们现在将使用 `Compose` 配置并运行一个 `Rails/PostgreSQL` 应用。

View File

@ -1,6 +1,6 @@
## 使用 WordPress ## 使用 WordPress
本小节内容适合 `PHP` 开发人员阅读。 > 本小节内容适合 `PHP` 开发人员阅读。
`Compose` 可以很便捷的让 `Wordpress` 运行在一个独立的环境中。 `Compose` 可以很便捷的让 `Wordpress` 运行在一个独立的环境中。

13
image/buildkit/README.md Normal file
View File

@ -0,0 +1,13 @@
## BuildKit
BuildKit 是下一代的镜像构建组件,在 https://github.com/moby/buildkit 开源。
下面介绍如何在 Docker CE 18.09+ 版本中使用 BuildKit 构建 Docker 镜像。
```bash
$ export DOCKER_BUILDKIT=1
# Windows
$ set $env:DOCKER_BUILDKIT=1
```

View File

@ -28,7 +28,7 @@ CMD [ "sh", "-c", "echo $HOME" ]
提到 `CMD` 就不得不提容器中应用在前台执行和后台执行的问题。这是初学者常出现的一个混淆。 提到 `CMD` 就不得不提容器中应用在前台执行和后台执行的问题。这是初学者常出现的一个混淆。
Docker 不是虚拟机,容器中的应用都应该以前台执行,而不是像虚拟机、物理机里面那样,用 upstart/systemd 去启动后台服务,容器内没有后台服务的概念。 Docker 不是虚拟机,容器中的应用都应该以前台执行,而不是像虚拟机、物理机里面那样,用 `systemd` 去启动后台服务,容器内没有后台服务的概念。
一些初学者将 `CMD` 写为: 一些初学者将 `CMD` 写为:

View File

@ -2,7 +2,7 @@
Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 [2013 年 3 月以 Apache 2.0 授权协议开源][docker-soft],主要项目代码在 [GitHub](https://github.com/moby/moby) 上进行维护。Docker 项目后来还加入了 Linux 基金会,并成立推动 [开放容器联盟OCI](https://www.opencontainers.org/)。 Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 [2013 年 3 月以 Apache 2.0 授权协议开源][docker-soft],主要项目代码在 [GitHub](https://github.com/moby/moby) 上进行维护。Docker 项目后来还加入了 Linux 基金会,并成立推动 [开放容器联盟OCI](https://www.opencontainers.org/)。
Docker 自开源后受到广泛的关注和讨论,至今其 GitHub 项目已经超过 4 万 6 千个星标和一万多个 fork。甚至由于 Docker 项目的火爆,在 2013 年底,[dotCloud 公司决定改名为 Docker](https://blog.docker.com/2013/10/dotcloud-is-becoming-docker-inc/)。Docker 最初是在 Ubuntu 12.04 上开发实现的Red Hat 则从 RHEL 6.5 开始对 Docker 进行支持Google 也在其 PaaS 产品中广泛应用 Docker。 Docker 自开源后受到广泛的关注和讨论,至今其 [GitHub 项目](https://github.com/moby/moby) 已经超过 5 万 2 千个星标和一万多个 fork。甚至由于 Docker 项目的火爆,在 2013 年底,[dotCloud 公司决定改名为 Docker](https://blog.docker.com/2013/10/dotcloud-is-becoming-docker-inc/)。Docker 最初是在 Ubuntu 12.04 上开发实现的Red Hat 则从 RHEL 6.5 开始对 Docker 进行支持Google 也在其 PaaS 产品中广泛应用 Docker。
Docker 使用 Google 公司推出的 [Go 语言](https://golang.org/) 进行开发实现,基于 Linux 内核的 [cgroup](https://zh.wikipedia.org/wiki/Cgroups)[namespace](https://en.wikipedia.org/wiki/Linux_namespaces),以及 [AUFS](https://en.wikipedia.org/wiki/Aufs) 类的 [Union FS](https://en.wikipedia.org/wiki/Union_mount) 等技术,对进程进行封装隔离,属于 [操作系统层面的虚拟化技术](https://en.wikipedia.org/wiki/Operating-system-level_virtualization)。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。最初实现是基于 [LXC](https://linuxcontainers.org/lxc/introduction/),从 0.7 版本以后开始去除 LXC转而使用自行开发的 [libcontainer](https://github.com/docker/libcontainer),从 1.11 开始,则进一步演进为使用 [runC](https://github.com/opencontainers/runc) 和 [containerd](https://github.com/containerd/containerd)。 Docker 使用 Google 公司推出的 [Go 语言](https://golang.org/) 进行开发实现,基于 Linux 内核的 [cgroup](https://zh.wikipedia.org/wiki/Cgroups)[namespace](https://en.wikipedia.org/wiki/Linux_namespaces),以及 [AUFS](https://en.wikipedia.org/wiki/Aufs) 类的 [Union FS](https://en.wikipedia.org/wiki/Union_mount) 等技术,对进程进行封装隔离,属于 [操作系统层面的虚拟化技术](https://en.wikipedia.org/wiki/Operating-system-level_virtualization)。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。最初实现是基于 [LXC](https://linuxcontainers.org/lxc/introduction/),从 0.7 版本以后开始去除 LXC转而使用自行开发的 [libcontainer](https://github.com/docker/libcontainer),从 1.11 开始,则进一步演进为使用 [runC](https://github.com/opencontainers/runc) 和 [containerd](https://github.com/containerd/containerd)。

View File

@ -28,15 +28,13 @@ saltstack/centos-6-minimal
tutum/centos-6.4 DEPRECATED. Use tutum/centos:6.4 instead. ... 5 [OK] tutum/centos-6.4 DEPRECATED. Use tutum/centos:6.4 instead. ... 5 [OK]
``` ```
可以看到返回了很多包含关键字的镜像,其中包括镜像名字、描述、收藏数(表示该镜像的受关注程度)、是否官方创建、是否自动创建 可以看到返回了很多包含关键字的镜像,其中包括镜像名字、描述、收藏数(表示该镜像的受关注程度)、是否官方创建OFFICIAL、是否自动构建 AUTOMATED
官方的镜像说明是官方项目组创建和维护的automated 资源允许用户验证镜像的来源和内容。 根据是否是官方提供,可将镜像分为两类。
根据是否是官方提供,可将镜像资源分为两类。
一种是类似 `centos` 这样的镜像,被称为基础镜像或根镜像。这些基础镜像由 Docker 公司创建、验证、支持、提供。这样的镜像往往使用单个单词作为名字。 一种是类似 `centos` 这样的镜像,被称为基础镜像或根镜像。这些基础镜像由 Docker 公司创建、验证、支持、提供。这样的镜像往往使用单个单词作为名字。
还有一种类型,比如 `tianon/centos` 镜像,它是由 Docker 的用户创建并维护的,往往带有用户名称前缀。可以通过前缀 `username/` 来指定使用某个用户提供的镜像,比如 tianon 用户。 还有一种类型,比如 `tianon/centos` 镜像,它是由 Docker Hub 注册用户创建并维护的,往往带有用户名称前缀。可以通过前缀 `username/` 来指定使用某个用户提供的镜像,比如 tianon 用户。
另外,在查找的时候通过 `--filter=stars=N` 参数可以指定仅显示收藏数量为 `N` 以上的镜像。 另外,在查找的时候通过 `--filter=stars=N` 参数可以指定仅显示收藏数量为 `N` 以上的镜像。
@ -74,24 +72,24 @@ NAME DESCRIPTION STARS
username/ubuntu username/ubuntu
``` ```
### 自动 ### 自动
自动Automated Builds功能对于需要经常升级镜像内程序来说十分方便。 自动Automated Builds功能对于需要经常升级镜像内程序来说十分方便。
有时候,用户创建了镜像,安装了某个软件,如果软件发布新版本则需要手动更新镜像。 有时候,用户构建了镜像,安装了某个软件,当软件发布新版本则需要手动更新镜像。
而自动建允许用户通过 Docker Hub 指定跟踪一个目标网站(目前支持 [GitHub](https://github.com) 或 [BitBucket](https://bitbucket.org)上的项目一旦项目发生新的提交或者创建新的标签tagDocker Hub 会自动构建镜像并推送到 Docker Hub 中。 而自动建允许用户通过 Docker Hub 指定跟踪一个目标网站(支持 [GitHub](https://github.com) 或 [BitBucket](https://bitbucket.org))上的项目,一旦项目发生新的提交 commit或者创建新的标签tagDocker Hub 会自动构建镜像并推送到 Docker Hub 中。
要配置自动建,包括如下的步骤: 要配置自动建,包括如下的步骤:
* 创建并登录 Docker Hub,以及目标网站 * 登录 Docker Hub
* 在目标网站中连接帐户到 Docker Hub * 在 Docker Hub 点击右上角头像在账号设置Account Settings中关联Linked Accounts目标网站
* 在 Docker Hub 中 [配置一个自动创建](https://registry.hub.docker.com/builds/add/) * 在 Docker Hub 中新建或选择已有的仓库,在 `Builds` 选项卡中选择 `Configure Automated Builds`
* 选取一个目标网站中的项目(需要含 `Dockerfile`)和分支; * 选取一个目标网站中的项目(需要含 `Dockerfile`)和分支;
* 指定 `Dockerfile` 的位置,并提交创建 * 指定 `Dockerfile` 的位置,并保存
之后,可以在 Docker Hub 的 [自动创建页面](https://registry.hub.docker.com/builds/) 中跟踪每次创建的状态。 之后,可以在 Docker Hub 的仓库页面的 `Timeline` 选项卡中查看每次构建的状态。