diff --git a/compose/README.md b/compose/README.md index cac62b6..d265bc1 100644 --- a/compose/README.md +++ b/compose/README.md @@ -1,5 +1,5 @@ # Docker Compose 项目 -Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用。 +`Docker Compose` 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用。 -本章将介绍 Compose 项目情况以及安装和使用。 +本章将介绍 `Compose` 项目情况以及安装和使用。 diff --git a/compose/commands.md b/compose/commands.md index 15e9bd1..c444c22 100644 --- a/compose/commands.md +++ b/compose/commands.md @@ -5,7 +5,7 @@ 执行 `docker-compose [COMMAND] --help` 或者 `docker-compose help [COMMAND]` 可以查看具体某个命令的使用格式。 -Compose 命令的基本的使用格式是 +`docker-compose` 命令的基本的使用格式是 ```bash docker-compose [-f=...] [options] [COMMAND] [ARGS...] diff --git a/compose/django.md b/compose/django.md index 8d962f2..0137889 100644 --- a/compose/django.md +++ b/compose/django.md @@ -1,6 +1,6 @@ ## 使用 Django -本小节内容适合 Python 开发人员阅读。 +本小节内容适合 `Python` 开发人员阅读。 我们现在将使用 `Docker Compose` 配置并运行一个 `Django/PostgreSQL` 应用。 @@ -57,7 +57,7 @@ $ docker-compose run web django-admin.py startproject django_example . Compose 会先使用 `Dockerfile` 为 web 服务创建一个镜像,接着使用这个镜像在容器里运行 `django-admin.py startproject composeexample` 指令。 -这将在当前目录生成一个 Django 应用。 +这将在当前目录生成一个 `Django` 应用。 ```bash $ ls @@ -110,7 +110,7 @@ web_1 | Starting development server at http://0.0.0.0:8000/ web_1 | Quit the server with CONTROL-C. ``` -这个 `Django` 应用已经开始在你的 Docker 守护进程里监听着 `8000` 端口了。打开 `127.0.0.1:8000` 即可看到 Django 欢迎页面。 +这个 `Django` 应用已经开始在你的 Docker 守护进程里监听着 `8000` 端口了。打开 `127.0.0.1:8000` 即可看到 `Django` 欢迎页面。 你还可以在 Docker 上运行其它的管理命令,例如对于同步数据库结构这种事,在运行完 `docker-compose up` 后,在另外一个终端进入文件夹运行以下命令即可: diff --git a/compose/install.md b/compose/install.md index 5612837..bcf8848 100644 --- a/compose/install.md +++ b/compose/install.md @@ -1,12 +1,12 @@ ## 安装与卸载 -Compose 目前支持 Linux、macOS、Windows 10 三大平台。 +`Compose` 目前支持 Linux、macOS、Windows 10 三大平台。 -Compose 可以通过 Python 的包管理工具 pip 进行安装,也可以直接下载编译好的二进制文件使用,甚至直接运行在 Docker 容器中。 +`Compose` 可以通过 Python 的包管理工具 pip 进行安装,也可以直接下载编译好的二进制文件使用,甚至直接运行在 Docker 容器中。 前两种方式是传统方式,适合本地环境下安装使用;最后一种方式则不破坏系统环境,更适合云计算场景。 -Docker for macOS 、Docker for Windows 自带 `docker-compose` 二进制文件,安装 Docker 之后可以直接使用。 +`Docker for macOS` 、`Docker for Windows` 自带 `docker-compose` 二进制文件,安装 Docker 之后可以直接使用。 ```bash $ docker-compose --version @@ -119,7 +119,7 @@ exec docker run --rm $DOCKER_RUN_OPTIONS $DOCKER_ADDR $COMPOSE_OPTIONS $VOLUMES $ sudo rm /usr/local/bin/docker-compose ``` -如果是通过 python pip 安装的,则执行如下命令即可删除。 +如果是通过 `pip` 安装的,则执行如下命令即可删除。 ```bash $ sudo pip uninstall docker-compose diff --git a/compose/introduction.md b/compose/introduction.md index 1cd3260..3c7ee5e 100644 --- a/compose/introduction.md +++ b/compose/introduction.md @@ -2,22 +2,22 @@ ![Docker Compose 项目](_images/docker_compose.jpg) -Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。从功能上看,跟 OpenStack 中的 Heat 十分类似。 +`Compose` 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。从功能上看,跟 `OpenStack` 中的 `Heat` 十分类似。 其代码目前在 [https://github.com/docker/compose](https://github.com/docker/compose) 上开源。 -Compose 定位是 「定义和运行多个 Docker 容器的应用(Defining and running multi-container Docker applications)」,其前身是开源项目 Fig。 +`Compose` 定位是 「定义和运行多个 Docker 容器的应用(Defining and running multi-container Docker applications)」,其前身是开源项目 Fig。 通过第一部分中的介绍,我们知道使用一个 `Dockerfile` 模板文件,可以让用户很方便的定义一个单独的应用容器。然而,在日常工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个 Web 项目,除了 Web 服务容器本身,往往还需要再加上后端的数据库服务容器,甚至还包括负载均衡容器等。 -Compose 恰好满足了这样的需求。它允许用户通过一个单独的 `docker-compose.yml` 模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。 +`Compose` 恰好满足了这样的需求。它允许用户通过一个单独的 `docker-compose.yml` 模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。 -Compose 中有两个重要的概念: +`Compose` 中有两个重要的概念: * 服务(service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。 * 项目(project):由一组关联的应用容器组成的一个完整业务单元,在 `docker-compose.yml` 文件中定义。 -Compose 的默认管理对象是项目,通过子命令对项目中的一组容器进行便捷地生命周期管理。 +`Compose` 的默认管理对象是项目,通过子命令对项目中的一组容器进行便捷地生命周期管理。 -Compose 项目由 Python 编写,实现上调用了 Docker 服务提供的 API 来对容器进行管理。因此,只要所操作的平台支持 Docker API,就可以在其上利用 Compose 来进行编排管理。 +`Compose` 项目由 Python 编写,实现上调用了 Docker 服务提供的 API 来对容器进行管理。因此,只要所操作的平台支持 Docker API,就可以在其上利用 `Compose` 来进行编排管理。 diff --git a/compose/rails.md b/compose/rails.md index 226a61c..7f40faa 100644 --- a/compose/rails.md +++ b/compose/rails.md @@ -1,10 +1,11 @@ ## 使用 Rail -本小节内容适合 Ruby 开发人员阅读。 +本小节内容适合 `Ruby` 开发人员阅读。 -我们现在将使用 Compose 配置并运行一个 Rails/PostgreSQL 应用。 +我们现在将使用 `Compose` 配置并运行一个 `Rails/PostgreSQL` 应用。 + +在一切工作开始前,需要先设置好三个必要的文件。 -在一切工作开始前,需要先设置好三个必要的文件。 首先,因为应用将要运行在一个满足所有环境依赖的 Docker 容器里面,那么我们可以通过编辑 `Dockerfile` 文件来指定 Docker 容器要安装内容。内容如下: ```docker @@ -33,7 +34,7 @@ services: image: postgres ports: - "5432" - + web: build: . command: bundle exec rackup -p 3000 @@ -49,7 +50,7 @@ services: ```bash $ docker-compose run web rails new . --force --database=postgresql --skip-bundle ``` -Compose 会先使用 `Dockerfile` 为 web 服务创建一个镜像,接着使用这个镜像在容器里运行 `rails new ` 和它之后的命令。一旦这个命令运行完后,应该就可以看一个崭新的应用已经生成了。 +`Compose` 会先使用 `Dockerfile` 为 web 服务创建一个镜像,接着使用这个镜像在容器里运行 `rails new ` 和它之后的命令。一旦这个命令运行完后,应该就可以看一个崭新的应用已经生成了。 ```bash $ ls diff --git a/compose/usage.md b/compose/usage.md index ef1e069..6001b2f 100644 --- a/compose/usage.md +++ b/compose/usage.md @@ -3,11 +3,11 @@ ### 术语 首先介绍几个术语。 -* 服务 (service):一个应用容器,实际上可以运行多个相同镜像的实例。 +* 服务 (`service`):一个应用容器,实际上可以运行多个相同镜像的实例。 -* 项目 (project):由一组关联的应用容器组成的一个完整业务单元。 +* 项目 (`project`):由一组关联的应用容器组成的一个完整业务单元。 -可见,一个项目可以由多个服务(容器)关联而成,Compose 面向项目进行管理。 +可见,一个项目可以由多个服务(容器)关联而成,`Compose` 面向项目进行管理。 ### 场景 下面,我们创建一个经典的 Web 项目:一个 [Haproxy](http://www.haproxy.org/),挂载三个 Web 容器。 @@ -93,7 +93,7 @@ if __name__ == '__main__': ``` #### index.html -生成一个临时的 `index.html` 文件,其内容会被 index.py 更新。 +生成一个临时的 `index.html` 文件,其内容会被 `index.py` 更新。 ```bash $ touch index.html ``` @@ -145,7 +145,7 @@ backend web_backends http-check expect status 200 ``` ### docker-compose.yml -编写 `docker-compose.yml` 文件,这个是 Compose 使用的主模板文件。内容十分简单,指定 3 个 web 容器,以及 1 个 haproxy 容器。 +编写 `docker-compose.yml` 文件,这个是 `Compose` 使用的主模板文件。内容十分简单,指定 3 个 `web` 容器,以及 1 个 `haproxy` 容器。 ```yaml version: "3" @@ -201,6 +201,6 @@ Recreating composehaproxyweb_haproxy_1... Attaching to composehaproxyweb_webb_1, composehaproxyweb_webc_1, composehaproxyweb_weba_1, composehaproxyweb_haproxy_1 ``` -此时访问本地的 80 端口,会经过 haproxy 自动转发到后端的某个 web 容器上,刷新页面,可以观察到访问的容器地址的变化。 +此时访问本地的 `80` 端口,会经过 `haproxy` 自动转发到后端的某个 web 容器上,刷新页面,可以观察到访问的容器地址的变化。 -访问本地 70 端口,可以查看到 haproxy 的统计信息。 +访问本地 `70` 端口,可以查看到 `haproxy` 的统计信息。 diff --git a/compose/wordpress.md b/compose/wordpress.md index fbfdaf0..871e199 100644 --- a/compose/wordpress.md +++ b/compose/wordpress.md @@ -1,8 +1,8 @@ ## 使用 WordPress -本小节内容适合 PHP 开发人员阅读。 +本小节内容适合 `PHP` 开发人员阅读。 -Compose 可以很便捷的让 Wordpress 运行在一个独立的环境中。 +`Compose` 可以很便捷的让 `Wordpress` 运行在一个独立的环境中。 ### 创建空文件夹 @@ -44,4 +44,4 @@ volumes: ### 构建并运行项目 -运行 `docker-compose up -d` Compose 就会拉取镜像再创建我们所需要的镜像,然后启动 `wordpress` 和数据库容器。 接着浏览器访问 `127.0.0.1:8000` 端口就能看到 WordPress 安装界面了。 +运行 `docker-compose up -d` Compose 就会拉取镜像再创建我们所需要的镜像,然后启动 `wordpress` 和数据库容器。 接着浏览器访问 `127.0.0.1:8000` 端口就能看到 `WordPress` 安装界面了。 diff --git a/compose/yaml_file.md b/compose/yaml_file.md index b179789..ca0c933 100644 --- a/compose/yaml_file.md +++ b/compose/yaml_file.md @@ -1,6 +1,6 @@ ## Compose 模板文件 -模板文件是使用 Compose 的核心,涉及到的指令关键字也比较多。但大家不用担心,这里面大部分指令跟 `docker run` 相关参数的含义都是类似的。 +模板文件是使用 `Compose` 的核心,涉及到的指令关键字也比较多。但大家不用担心,这里面大部分指令跟 `docker run` 相关参数的含义都是类似的。 默认的模板文件名称为 `docker-compose.yml`,格式为 YAML 格式。