Docker-Compose简单使用

参考文档

Compose 快速入门

简介
Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。开源地址在这

Compose 定位是 「定义和运行多个 Docker 容器的应用」

Compose 中有两个重要的概念:

服务 (service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
项目 (project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义
Compose 的默认管理对象是项目,通过子命令对项目中的一组容器进行便捷地生命周期管理。

Compose 项目由 Python 编写,实现上调用了 Docker 服务提供的 API 来对容器进行管理。因此,只要所操作的平台支持 Docker API,就可以在其上利用 Compose 来进行编排管理。

说明:一般在安装完Docker后即安装Compose

Compose 安装

1 sudo curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
2 sudo chmod +x /usr/local/bin/docker-compose

也可以在github下载文件自己手动传上/usr/local/bin/ 记得改名为 docker-compose

Compose 卸载

1 sudo rm /usr/local/bin/docker-compose

Compose 简单实例

在自定义的 目录下 如 /usr/local/docker/tomcat/ 编写docker-compose.yml, 如下

vi docker-compose.yml
#写入如下,仅仅构建一个tomcat服务
version: '3.0'
services:
  tomcat:
    restart: always
    image: tomcat
    container_name: tomcat
    ports:
      - 8080:8080

保存并退出,启动该项目,如下:

1 docker-compose up   #启动项目,即启动一个tomcat服务

Compose 常用命令

注意
对于 Compose 来说,大部分命令的对象既可以是项目本身,也可以指定为项目中的服务或者容器。如果没有特别的说明,命令对象将是项目,这意味着项目中所有的服务都会受到命令影响。

docker-compose -参数

可选参数如下:

-f,–file FILE指定Compose模板文件,默认为docker-compose.yml,可以多次指定。

-v,–version打印版本并退出

docker-compose up -参数

可选参数如下:

-d 在后台运行项目

-f 指定使用的Compose模板文件,默认为docker-compose.yml,可以多次指定。

–build 在启动容器前构建服务镜像

docker-compose ps #列出项目中的所有容器

docker-compose stop #停止项目

docker-compose start #再次启动

docker-compose logs -参数 #查看日志输出

可选参数如下:

-f 持续监听日志输出

也可以在logs后面加上确切的服务名

docker-compose build -参数

可选参数如下:

–compress 通过gzip压缩构建上下环境
–force-rm 删除构建过程中的临时容器
–no-cache 构建镜像过程中不使用缓存
–pull 始终尝试通过拉取操作来获取更新版本的镜像
-m, –memory MEM为构建的容器设置内存大小
–build-arg key=val为服务设置build-time变量
服务容器一旦构建后,将会带上一个标记名。可以随时在项目目录下运行docker-compose build来重新构建服务

docker-compose restart #重启项目中的服务

docker-compose rm -参数 #删除停止状态的服务

可选参数如下:

-f 强制删除

-v 删除容器所挂载的数据卷

docker-compose dowm #将会停止 up 命令所启动的容器,并移除网络

更多命令可以参考这里

Compose 模板文件

参考这里