compose有两个重要的概念:

服务(service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例

项目(project):由一组关联的应用容器组成的一个完整业务单元,在docker-compose.yml文件中定义

compose默认管理对象是项目,通过子命令对项目中的一组容器进行便捷地生命周期管理

安装

pip安装,下载编译好的二进制文件,直接运行在docker容器中三种方案:

pip安装:

apt-get install python-pip -y

pip install -U docker-compose

安装后,可以添加bash补全命令:

curl -L https://raw.githubusercontent.com/docker/compose/1.1.0/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose

卸载:

pip uninstall docker-compose

Compose命令说明

大多数Compose命令都是运行于一个或多个服务的,如果服务没有指定,该命令将会作用到项目,即应用到所有服务

build
Usage: build [options] [SERVICE...] Options:
--force-rm Always remove intermediate containers.
--no-cache Do not use cache when building the image.
--pull Always attempt to pull a newer version of the image.
当修改dockerfile或者docker-compose时,运行docker-compose build 重建镜像。 生成镜像后,可使用docker-compose up启动
kill
通过发送SIGKILL的信号强制停止运行的容器,这个信号可以选择性的通过,比如:
docker-compose kill -s SIGKINT
logs
Usage: logs [options] [SERVICE...] Options:
--no-color 单色输出,不显示其他颜.
-f, --follow 跟踪日志输出,就是可以实时查看日志
-t, --timestamps 显示时间戳
--tail 从日志的结尾显示,--tail=
显示日志输出.
pause
Usage: pause [SERVICE...]
暂停容器服务. docker-compose pause 暂停所有服务. docker-compose pause web,之后暂停web服务的容器。
port
Usage: port [options] SERVICE PRIVATE_PORT Options:
--protocol=proto tcp or udp [default: tcp]
--index=index index of the container if there are multiple
instances of a service [default: ]
输出服务的共有端口.
# docker-compose port web -- 8080为容器内部端口
0.0.0.0:
ps
Usage: ps [options] [SERVICE...] Options:
-q 只显示ID
显示容器. 默认显示name、command、state、ports
pull
Usage: pull [options] [SERVICE...] Options:
--ignore-pull-failures 忽略pull失败的镜像,继续pull其他镜像.
pull compose文件中所指明的镜像.
restart
Usage: restart [options] [SERVICE...] Options:
-t, --timeout TIMEOUT Specify a shutdown timeout in seconds. (default: )
Restarts services.
rm
Usage: rm [options] [SERVICE...] Options:
-f, --force Don't ask to confirm removal
-v 期初加载到容器的任何匿名卷
-a, --all Also remove one-off containers created by
docker-compose run
Removes stopped service containers. 如果服务在运行,需要先docker-compose stop 停止容器
run
Usage: run [options] [-e KEY=VAL...] SERVICE [COMMAND] [ARGS...] Options:
-d 后台运行,输出容器名.
-e KEY=VAL 设置环境变量参数,可以使用多次
-u, --user="" 指定运行的用户
--no-deps 不启动link服务,只启动run的服务.
--rm 运行后删除容器,后台运行模式除外(-d).
-p, --publish=[] 开放端口
--service-ports compose文件中配置什么端口,就映射什么端口.
-T 禁用TTY.
-w, --workdir="" 设置工作目录
启动web服务器,并执行bash命令. $ docker-compose run web bash
根据compose配置文件制定的端口,映射到主机:
$ docker-compose run --service-ports web python manage.py shell
指定端口映射到主机:
$ docker-compose run --publish : -p : -p 127.0.0.1:: web python manage.py shell
scale
Usage: scale [SERVICE=NUM...]
设置服务的个数.
$ docker-compose scale web= worker=
start
Usage: start [SERVICE...]
启动服务.
stop
Usage: stop [options] [SERVICE...] Options:
-t, --timeout TIMEOUT 关闭超时时间 (default: ).
停止容器.
unpause
Usage: unpause [SERVICE...]
恢复容器服务. docker-compose unpause 恢复所有服务. docker-compose unpause web,之后恢复web服务的容器。
up
Usage: up [options] [SERVICE...] Options:
-d 后台运行,输出容器的名字.
Incompatible with --abort-on-container-exit.
--no-color 单色输出.
--no-deps 不启动link服务.
--force-recreate 强制重新创建compose服务,即使没有任何改变。重新创建后启动容器
Incompatible with --no-recreate.
--no-recreate 如果容器已经存在,不重新创建.
Incompatible with --force-recreate.
--no-build 不创建重启,即使镜像不存在.
--build 重新创建镜像,然后生成容器.
--abort-on-container-exit 任何容器停止,自动停止所有容器.
Incompatible with -d.
-t, --timeout TIMEOUT 超时时间. (default: )
--remove-orphans 移除compose文件中未定义服务的容器
改命令十分强大,它将尝试自动完成包括镜像创建,(重新)

docker三剑客之一docker compose的更多相关文章

  1. Docker 三剑客之 Docker Swarm

    上一篇:Docker 三剑客之 Docker Compose 阅读目录: Docker Machine 创建 Docker 主机 Docker Swarm 配置集群节点 Docker Service ...

  2. Docker(五):Docker 三剑客之 Docker Machine

    上篇文章Docker(四):Docker 三剑客之 Docker Compose介绍了 Docker Compose,这篇文章我们来了解 Docker Machine . Docker Machine ...

  3. Docker三剑客之Docker Swarm

    一.什么是Docker Swarm Swarm是Docker公司推出的用来管理docker集群的平台,几乎全部用GO语言来完成的开发的,代码开源在https://github.com/docker/s ...

  4. Docker 三剑客之 Docker Swarm(基于 overlay 组网通信)

    相关文章:Docker 三剑客之 Docker Swarm 这一篇主要是对 Docker Swarm 的完善,增加基于 overlay 组网通信,以便 Docker 容器可以跨主机访问. 不同主机间的 ...

  5. Docker(四):Docker 三剑客之 Docker Compose

    前两篇文章我们介绍了 Dockerfile 的使用Docker(二):Dockerfile 使用介绍,我们知道使用一个 Dockerfile 模板文件可以定义一个单独的应用容器,如果需要定义多个容器就 ...

  6. Docker三剑客之Docker Compose

    一.什么是Docker Compose Compose 项目是Docker官方的开源项目,负责实现Docker容器集群的快速编排,开源代码在https://github.com/docker/comp ...

  7. docker——三剑客之Docker swarm

    Docker Swarm是Docker官方的三剑客项目之一,提供Docker容器集群服务,是Docker官方对容器云生态进行支持的核心方案.使用它,用户可以将多个Docker主机封装为单个大型的虚拟D ...

  8. Docker(六):Docker 三剑客之 Docker Swarm

    实践中会发现,生产环境中使用单个 Docker 节点是远远不够的,搭建 Docker 集群势在必行.然而,面对 Kubernetes, Mesos 以及 Swarm 等众多容器集群系统,我们该如何选择 ...

  9. docker——三剑客之Docker Machine

    Docker Machine是Docker官方三剑客项目之一,负责使用Docker的第一步,在多种平台上快速安装Docker环境.它支持多种平台,让用户在很短时间内搭建一套Docker主机集群. Ma ...

  10. Docker三剑客之Docker Machine

    一.什么是Docker Machine Docker Machine 是Docker官方编排项目之一,使用go语言编写的,使用不同引擎在多种平台上快速的安装Docker环境,开源地址:https:// ...

随机推荐

  1. 为Redmine的项目加上起止时间

    没有时间约束的项目不是好项目. 要给项目配置起止时间,须要用到自己定义属性. 我们须要管理员身份登录.才干够定义自己定义属性. 自己定义属性 看图吧,先是点击页面导航条(最上面那排菜单,有主页.我的工 ...

  2. Numpy数组计算

    NumPy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础. NumPy的主要功能 ndarray,一个多维数组结构,高效且节省空间 无需循环对整组数据进行快速运算的数学函数 ...

  3. project 2013 激活 key 7YHNW-RVCQY-VBDB2-QX69Q-B96WK viso 66DNF-28W69-W4PPV-W3VYT-TJDBQ

    project 2013 激活 key :7YHNW-RVCQY-VBDB2-QX69Q-B96WK viso2013  激活 key:66DNF-28W69-W4PPV-W3VYT-TJDBQ 软件 ...

  4. Java的泛型约束和限制

    不能用基本类型实例化类型参数 不能用类型参数代替基本类型:例如,没有Pair<double>,只有Pair<Double>,其原因是类型擦除.擦除之后,Pair类含有Objec ...

  5. 并发回射服务器的最基本实现思路( fork )

    前言 一个服务器,通常会在一段时间内接收到多个请求.如果非要等到处理完一个请求再去处理下一个,势必会造成大部分用户的不满( 尤其当有某个请求需要占用大量时间时 ).如何解决这个问题?让处理这些用户请求 ...

  6. go map 线程不安全 安全措施

    go map   线程不安全  安全措施

  7. 使用Windows API发送HTTP请求

    先看一个简单的GET示例 #include <Windows.h> #include <winhttp.h> #include <stdio.h> int main ...

  8. linux环境下远程访问ftp

    sftp ftpuser@127.0.0.1 使用sftp命令 ftpuser是用户名 127.0.0.1是目标ip 亲测好使.

  9. 20170228 交货单过账增强 MV50AFZ1

    MV50AFZ1   这个程序里面找个FORM 用户出口, FORM USEREXIT_SAVE_DOCUMENT_PREPARE.   用户出口如下: 例:需求: 开发要求:制作交货单的人员,需要同 ...

  10. Machine Learning in Action(0) 开篇

    现在貌似In Action很流行,各种技术抽象成工程商的Action,可以避开繁琐的内部原理,这本书从实践出发,通俗易懂的解释那些常用的机器学习算法,类似跟<集体智慧编程>.这本书中文出版 ...