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 删除容器所挂载的数据卷