docker三剑客之一docker compose
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的更多相关文章
- Docker 三剑客之 Docker Swarm
上一篇:Docker 三剑客之 Docker Compose 阅读目录: Docker Machine 创建 Docker 主机 Docker Swarm 配置集群节点 Docker Service ...
- Docker(五):Docker 三剑客之 Docker Machine
上篇文章Docker(四):Docker 三剑客之 Docker Compose介绍了 Docker Compose,这篇文章我们来了解 Docker Machine . Docker Machine ...
- Docker三剑客之Docker Swarm
一.什么是Docker Swarm Swarm是Docker公司推出的用来管理docker集群的平台,几乎全部用GO语言来完成的开发的,代码开源在https://github.com/docker/s ...
- Docker 三剑客之 Docker Swarm(基于 overlay 组网通信)
相关文章:Docker 三剑客之 Docker Swarm 这一篇主要是对 Docker Swarm 的完善,增加基于 overlay 组网通信,以便 Docker 容器可以跨主机访问. 不同主机间的 ...
- Docker(四):Docker 三剑客之 Docker Compose
前两篇文章我们介绍了 Dockerfile 的使用Docker(二):Dockerfile 使用介绍,我们知道使用一个 Dockerfile 模板文件可以定义一个单独的应用容器,如果需要定义多个容器就 ...
- Docker三剑客之Docker Compose
一.什么是Docker Compose Compose 项目是Docker官方的开源项目,负责实现Docker容器集群的快速编排,开源代码在https://github.com/docker/comp ...
- docker——三剑客之Docker swarm
Docker Swarm是Docker官方的三剑客项目之一,提供Docker容器集群服务,是Docker官方对容器云生态进行支持的核心方案.使用它,用户可以将多个Docker主机封装为单个大型的虚拟D ...
- Docker(六):Docker 三剑客之 Docker Swarm
实践中会发现,生产环境中使用单个 Docker 节点是远远不够的,搭建 Docker 集群势在必行.然而,面对 Kubernetes, Mesos 以及 Swarm 等众多容器集群系统,我们该如何选择 ...
- docker——三剑客之Docker Machine
Docker Machine是Docker官方三剑客项目之一,负责使用Docker的第一步,在多种平台上快速安装Docker环境.它支持多种平台,让用户在很短时间内搭建一套Docker主机集群. Ma ...
- Docker三剑客之Docker Machine
一.什么是Docker Machine Docker Machine 是Docker官方编排项目之一,使用go语言编写的,使用不同引擎在多种平台上快速的安装Docker环境,开源地址:https:// ...
随机推荐
- VS2012+Win7站点公布具体步骤
VS2012+Win7站点公布详细步骤 本机环境: 本文分三个部分介绍Web项目公布的常规方法,大神级别能够略过,主要是为了方便一些刚開始学习的人. 第一部分:VS2012把项目公布到文件系统. 第二 ...
- socketserver模块的使用
import socketserver class MyTCPhandler(socketserver.BaseRequestHandler): def handle(self): # print(s ...
- 已迁移到http://www.coffin5257.com
点我直达
- SqlServer,Oracle,Mysql 获取指定行数
--sqlserver * FROM dbo.T_TASK --oracle --mysql ,
- PHP 7.1.5编译安装
1. 安装基础组件 yum install -y libxml2 libxml2-devel bzip2 bzip2-devel curl-devel libjpeg libjpeg-devel li ...
- OpenCV 入门示例之一:显示图像
前言 本文展示一个显示图像的示例程序,它用于从硬盘加载一副图像并在屏幕上显示. 代码示例 // 此头文件包含图像IO函数的声明 #include "highgui.h" int m ...
- 用live555做流媒体转发服务器?
当我们看到这里,说明大家都有这样的一个想法:那就是如何用live555实现一个直播代理转发的流媒体服务器? 我们先不着急去讨论用live555实现流媒体转发的技术方法123,先从live555的整个架 ...
- leetcode题目解答报告(1)
Remove Element 题目: Given an array and a value, remove all instances of that value in place and retur ...
- 解决Pods Unable to find a specification for `xxxxx`问题
错误信息为 Unable to find a specification for *RMQClient* (~> 1.x.x) depended upon by Podfile 刚开始以为这个已 ...
- File syncing and sharing software with file encryption and group sharing, emphasis on reliability and high performance.
http://seafile.com/ showdoc haiwen/seafile: File syncing and sharing software with file encryption a ...