Docker Compose 基本使用
Dockercompose v3官网文档: https://docs.docker.com/compose/compose-file/
Dockercompose中文: http://www.dockerinfo.net/document
借鉴: https://www.cnblogs.com/zhujingzhi/p/9786622.html#_label0
mode replicated
- mode: global 默认是服务器负载均衡自己分配
- mode: replicated
- replicas: 6 // 自己定义的台数
- deploy:
- mode: global
- deploy:
- mode: replicated
- replicas: 6
PLACEMENT
约束, 服务运行在哪个主机上面
|
node attribute |
matches |
example |
|
node.id |
Node ID |
node.id==2ivku8v2gvtg4 |
|
node.hostname |
Node hostname |
node.hostname!=node-2 |
|
node.role |
Node role |
node.role==manager |
|
node.labels |
user defined node labels |
node.labels.security==high |
|
engine.labels |
Docker Engine's labels |
engine.labels.operatingsystem==ubuntu 14.04 |
- placement:
- constraints:
- - node.role == manager
- - engine.labels.operatingsystem == ubuntu 14.04
RESOURCES
限制硬件信息
- resources:
- limits:
- cpus: '0.50'
- memory: 50M
- reservations:
- cpus: '0.25'
- memory: 20M
docker-compose安装
二进制安装
- curl -L https://github.com/docker/compose/releases/download/1.23.0-rc2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
- chmod +x /usr/local/bin/docker-compose
- docker-compose versio

PIP安装
- pip install docker-compose
- # 安装完需要做个软链接
- ln -s /usr/bin/docker-compose /usr/local/bin/
- docker-compose version
命令
- Compose 大部分命令的对象即可以是项目的本身,也可以是指定为项目中的服务或者容器
- 执行docker-compose [COMMAND] --help 或者docker-compose help [COMMAND]可以查看命令的帮助信息
- 具体的使用格式
- docker-compose [-f=<arg>...] [options] [COMMAND] [ARGS]
- 参数选项
- -f,--file file指定模板文件,默认是docker-compose.yml模板文件,可以多次指定
- -p,--project-name name指定项目名称,默认使用所在目录名称作为项目名称
- --x-networking 使用Docker的后端可插拔网络特性
- --x-networking-driver driver指定网络的后端驱动,默认使用bridge
- --verbose 输入更多的调试信息
- -v,--version 输出版本信息
- Compose所支持的命令
- build Build or rebuild services (构建项目中的服务容器)
- bundle Generate a Docker bundle from the Compose file (从Compose文件生成分布式应用程序包)
- config Validate and view the Compose file (验证并查看Compose文件)
- create Create services (为服务创建容器)
- down Stop and remove containers, networks, images, and volumes (停止容器并删除由其创建的容器,网络,卷和图像up)
- events Receive real time events from containers (为项目中的每个容器流式传输容器事件)
- exec Execute a command in a running container (这相当于docker exec。使用此子命令,您可以在服务中运行任意命令。默认情况下,命令分配TTY,因此您可以使用命令docker-compose exec web sh来获取交互式提示。)
- help Get help on a command (获得一个命令的帮助)
- images List images ()
- kill Kill containers (通过发送SIGKILL信号来强制停止服务容器)
- logs View output from containers (查看服务容器的输出)
- pause Pause services (暂停一个容器)
- port Print the public port for a port binding (打印某个容器端口所映射的公共端口)
- ps List containers (列出项目中目前所有的容器)
- pull Pull service images (拉取服务依赖镜像)
- push Push service images (推送服务镜像)
- restart Restart services (重启项目中的服务)
- rm Remove stopped containers (删除所有停止状态的服务容器)
- run Run a one-off command (在指定服务上执行一个命令)
- scale Set number of containers for a service (设置指定服务执行的容器个数)
- start Start services (启动已存在的服务容器)
- stop Stop services (停止已存在的服务容器)
- top Display the running processes (显示容器正在运行的进程)
- unpause Unpause services (恢复处于暂停状态的容器)
- up Create and start containers (自动完成包括构建镜像、创建服务、启动服务并关联服务相关容器的一系列操作)
- version Show the Docker-Compose version information (输出版本)
这些命令的使用方法可以使用执行docker-compose [COMMAND] --help 或者docker-compose help [COMMAND]可以查看命令的帮助信息
因为太多的原因我这里就不写了,有时间我在把每个命令的使用方法补上吧
针对模板文件的使用才是重中之重,我在后面会对模板文件详细讲解
官方链接:https://docs.docker.com/compose/reference/build/
环境变量
- 环境变量可以用来配置 Compose 的行为,以DOCKER_开头的变量和用来配置 Docker 命令行客户端的使用一样。如果使用 boot2docker , $(boot2docker shellinit) 将会设置它们为正确的值
- COMPOSE_PROJECT_NAME 设置通过 Compose 启动的每一个容器前添加的项目名称,默认是当前工作目录的名字。
- COMPOSE_FILE 设置要使用的 docker-compose.yml 的路径。默认路径是当前工作目录。
- DOCKER_HOST 设置 Docker daemon 的地址。默认使用 unix:///var/run/docker.sock,与 Docker 客户端采用的默认值一致。
- DOCKER_TLS_VERIFY 如果设置不为空,则与 Docker daemon 交互通过 TLS 进行。
- DOCKER_CERT_PATH 配置 TLS 通信所需要的验证(ca.pem、cert.pem 和 key.pem)文件的路径,默认是 ~/.docker
在使用的时候在做解释和操作吧,因为一般不会改环境变量的东西,默认的就OK,做个简单的了解
官方链接:https://docs.docker.com/compose/reference/envvars/#compose_project_name
Docker Compose 基本使用的更多相关文章
- Docker compose学习笔记
一.compose compose 作用 你的应用可能需要很多个服务,比如web服务,数据库服务,缓存服务等等.我们可以把这些服务放到单独的容器里面,如果手工去配置这些服务会有些麻烦,docker c ...
- docker compose 笔记
https://www.youtube.com/watch?v=Uez88TWOECg 是基于这个视频做的笔记. Docker Compose: Compose is a tool for defin ...
- 利用docker compose启动gitlab及runner
添加docker compose配置文件 新建文件docker-compose.yml,输入如下内容: gitlab: image: 'gitlab/gitlab-ce:latest' contain ...
- Docker Compose to CoreOS
taken from https://docs.docker.com/compose/install/ the only thing is that /usr is read only, but /o ...
- Docker Compose—简化复杂容器应用的利器
Compose是用于定义和运行复杂Docker应用的工具.你可以在一个文件中定义一个多容器的应用,然后使用一条命令来启动你的应用,然后所有相关的操作都会被自动完成. 1. 安装Docker和Compo ...
- .NET遇上Docker - 使用Docker Compose组织Ngnix和.NETCore运行
本文工具准备: Docker for Windows Visual Studio 2015 与 Visual Studio Tools for Docker 或 Visual Studio 2017 ...
- Docker Compose容器编排
Compose是Docker官方的开源项目,可以实现对Docker容器集群的快速编排.Compose 中有两个重要的概念:服务(service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实 ...
- Docker(四):Docker 三剑客之 Docker Compose
前两篇文章我们介绍了 Dockerfile 的使用Docker(二):Dockerfile 使用介绍,我们知道使用一个 Dockerfile 模板文件可以定义一个单独的应用容器,如果需要定义多个容器就 ...
- Spring Boot 2.0(五):Docker Compose + Spring Boot + Nginx + Mysql 实践
我知道大家这段时间看了我写关于 docker 相关的几篇文章,不疼不痒的,仍然没有感受 docker 的便利,是的,我也是这样认为的,I know your felling . 前期了解概念什么的确实 ...
- Docker学习笔记 - Docker Compose 脚本命令
Docker Compose 配置文件包含 version.services.networks 三大部分,最关键的是 services 和 networks 两个部分, version: '2' se ...
随机推荐
- 优雅解决 SpringBoot 工程中多环境下 application.properties 的维护问题
微信号:geekoftaste, 期待与大家一起探讨! 背景 我们知道 SpringBoot 有一个全局的配置文件 application.properties, 可以把工程里用到的占位符,第三方库的 ...
- Python小数据保存,有多少中分类?不妨看看他们的类比与推荐方案...
小数据存储 我们在编写代码的时候,经常会涉及到数据存储的情况,如果是爬虫得到的大数据,我们会选择使用数据库,或者excel存储.但如果只是一些小数据,或者说关联性较强且存在存储后复用的数据,我们该如何 ...
- JQuery之选择器转移
JQuery之选择器转移方法如下图: 代码实现: <script src="JS/jquery-1.12.4.min.js"></script> <s ...
- luogu P2985 [USACO10FEB]吃巧克力Chocolate Eating
题目描述 Bessie拿到了N (1 <= N <= 50,000)块巧克力.她决定想个办法吃掉这些巧克力,使得它在吃巧克力的这段时间里,最不开心的一天尽可能的开心.并且一共吃D (1 & ...
- 大数据之Linux基础
回顾这一个多月以来闭关学大数据的一些相关重要知识,就当复习,顺便以备以后查看 Linux学习第一步自然是安装Linux. 关于Linux 首先介绍下Linux,Linux系统很多程序员开发者其实都耳熟 ...
- Spring Boot 整合Spring Data以及rabbitmq,thymeleaf,向qq邮箱发送信息
首先得将自己的qq开启qq邮箱的POP3/SMTP服务 说明: p,e为路由key. 用户系统完成登录的时候,将{手机号-时间-IP}保存到队列Phone-queue中,msg-sys系统获得消息打印 ...
- 前端表单提交,提交有图片出现的问题,及解决方案 兼容ie9
更新一下我的小园子,主要说的是jq文件上传的过程中,如果出现上传的文件里有图片问题 其实文件上传有图片的情况下,不是什么大问题,对于前端来说,但是,如果需要兼容ie9的时候,就需要处理一下 文件上传如 ...
- 【Java Web开发学习】Spring MVC 使用HTTP信息转换器
[Java Web开发学习]Spring MVC 使用HTTP信息转换器 转载:https://www.cnblogs.com/yangchongxing/p/10186429.html @Respo ...
- python故障排除
在初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂.这里列出了常见的的一些让程序 crash 的运行时错误. 1)忘记在 if , elif , else , for , ...
- 牛客练习赛32B Xor Path (树形dp)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 给定一棵n个点的树,每个点有权值.定义表示 ...