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:// ...
随机推荐
- 为Redmine的项目加上起止时间
没有时间约束的项目不是好项目. 要给项目配置起止时间,须要用到自己定义属性. 我们须要管理员身份登录.才干够定义自己定义属性. 自己定义属性 看图吧,先是点击页面导航条(最上面那排菜单,有主页.我的工 ...
- Numpy数组计算
NumPy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础. NumPy的主要功能 ndarray,一个多维数组结构,高效且节省空间 无需循环对整组数据进行快速运算的数学函数 ...
- 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 软件 ...
- Java的泛型约束和限制
不能用基本类型实例化类型参数 不能用类型参数代替基本类型:例如,没有Pair<double>,只有Pair<Double>,其原因是类型擦除.擦除之后,Pair类含有Objec ...
- 并发回射服务器的最基本实现思路( fork )
前言 一个服务器,通常会在一段时间内接收到多个请求.如果非要等到处理完一个请求再去处理下一个,势必会造成大部分用户的不满( 尤其当有某个请求需要占用大量时间时 ).如何解决这个问题?让处理这些用户请求 ...
- go map 线程不安全 安全措施
go map 线程不安全 安全措施
- 使用Windows API发送HTTP请求
先看一个简单的GET示例 #include <Windows.h> #include <winhttp.h> #include <stdio.h> int main ...
- linux环境下远程访问ftp
sftp ftpuser@127.0.0.1 使用sftp命令 ftpuser是用户名 127.0.0.1是目标ip 亲测好使.
- 20170228 交货单过账增强 MV50AFZ1
MV50AFZ1 这个程序里面找个FORM 用户出口, FORM USEREXIT_SAVE_DOCUMENT_PREPARE. 用户出口如下: 例:需求: 开发要求:制作交货单的人员,需要同 ...
- Machine Learning in Action(0) 开篇
现在貌似In Action很流行,各种技术抽象成工程商的Action,可以避开繁琐的内部原理,这本书从实践出发,通俗易懂的解释那些常用的机器学习算法,类似跟<集体智慧编程>.这本书中文出版 ...