管理货柜的码头工人-- Docker (三)

管理货柜的码头工人-- Docker (三)

Docker 让建置服务变得非常简单,但相对马上会面临另一个困难--如何管理?

今天将会使用 Docker Compose 工具来帮忙管理容器。

安装

安装可以参考 Docker Compose 的 GitHub Release 。目前看到的是 1.9.0 版,安装指令如下:

管理货柜的码头工人-- Docker (三)

Docker Compose 的设定档有分 version 1 与 version 2 ,以下范例使用 version 1 。

Hello Compose

产生容器的指令如下:

管理货柜的码头工人-- Docker (三)

把它转换成 Docker Compose 的方式,首先先建立 docker-compose.yml 档案:

管理货柜的码头工人-- Docker (三)

接着下启动指令:

管理货柜的码头工人-- Docker (三)

-d 代表会在背景执行

现在 PHP Apache 容器已经开好了,并且资料夹也同步, port 也开出去,可以开始开发了。

Docker Link

PHP 开发大部分都需要连 MySQL ,那该怎么设定? Docker 原生的指令需要先建 MySQL ,建 PHP 的时候再设定 Link :

管理货柜的码头工人-- Docker (三)

接着就可以在 Apache 里面使用 my-mysql 这个 hostname 连到 MySQL :

管理货柜的码头工人-- Docker (三)

但这么多指令实在是很难懂,但换用 Docker Compose 是长这样:

管理货柜的码头工人-- Docker (三)

启动一样使用 docker-compose up -d 即可,是不是好懂许多了呀!

其他指令

Docker Compose 其他常用的指令如下:

docker-compose logs

在 up 之后,可以用这个指令去查看容器的 Log ,这对 debug 或 monitor 是非常方便的。

docker-compose build

每个服务(指的是上例的 web 与 mysql )下面一定要有定义 image 或是 build , image 表示要拉别人上传好的, build 表示要自己来。这个指令可以直接执行全部有 build 元素的服务。

docker-compose pull

同上,但是行为是 pull 所有有 image 元素的服务。

docker-compose run

跟 docker run 类似,会产生全新的容器,而这个容器的设定会完全依照 docker-compose.yml 档案里定义的执行。

docker-compose exec

跟 docker exec 类似,会在正在执行的容器上,执行新的指令。



分享到:


相關文章: