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

  1. mode: global   默认是服务器负载均衡自己分配   
  2. mode: replicated    
  3. replicas: 6   // 自己定义的台数   
  4. deploy:  
  5.     mode: global  
  6.        
     
  7. deploy:  
  8.     mode: replicated  
  9.     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

 

  1. placement:  
  2.       constraints:  
  3.         - node.role == manager  
  4.         - engine.labels.operatingsystem == ubuntu 14.04   

 
 

RESOURCES

限制硬件信息

  1. resources:  
  2.       limits:  
  3.         cpus: '0.50'  
  4.         memory: 50M  
  5.       reservations:  
  6.         cpus: '0.25'  
  7.         memory: 20M   

 

docker-compose安装

二进制安装

  1. 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  
  2. chmod +x /usr/local/bin/docker-compose  
  3. docker-compose versio  

 

PIP安装

  1. pip install docker-compose  
  2. # 安装完需要做个软链接  
  3. ln -s /usr/bin/docker-compose /usr/local/bin/  
  4. docker-compose version  

 

命令

  1. Compose 大部分命令的对象即可以是项目的本身,也可以是指定为项目中的服务或者容器  
  2. 执行docker-compose [COMMAND] --help 或者docker-compose help [COMMAND]可以查看命令的帮助信息  
  3. 具体的使用格式  
  4. docker-compose [-f=<arg>...] [options] [COMMAND] [ARGS]  
  5. 参数选项  
  6. -f,--file file指定模板文件,默认是docker-compose.yml模板文件,可以多次指定  
  7. -p,--project-name name指定项目名称,默认使用所在目录名称作为项目名称  
  8. --x-networking 使用Docker的后端可插拔网络特性  
  9. --x-networking-driver driver指定网络的后端驱动,默认使用bridge  
  10. --verbose 输入更多的调试信息  
  11. -v,--version 输出版本信息 

 

  1. Compose所支持的命令  
  2. build              Build or rebuild services (构建项目中的服务容器)  
  3. bundle             Generate a Docker bundle from the Compose file (从Compose文件生成分布式应用程序包)  
  4. config             Validate and view the Compose file (验证并查看Compose文件)  
  5. create             Create services (为服务创建容器)  
  6. down               Stop and remove containers, networks, images, and volumes (停止容器并删除由其创建的容器,网络,卷和图像up)  
  7. events             Receive real time events from containers (为项目中的每个容器流式传输容器事件)  
  8. exec               Execute a command in a running container (这相当于docker exec。使用此子命令,您可以在服务中运行任意命令。默认情况下,命令分配TTY,因此您可以使用命令docker-compose exec web sh来获取交互式提示。)  
  9. help               Get help on a command (获得一个命令的帮助)  
  10. images             List images ()  
  11. kill               Kill containers (通过发送SIGKILL信号来强制停止服务容器)  
  12. logs               View output from containers (查看服务容器的输出)  
  13. pause              Pause services (暂停一个容器)  
  14. port               Print the public port for a port binding (打印某个容器端口所映射的公共端口)  
  15. ps                 List containers (列出项目中目前所有的容器)  
  16. pull               Pull service images (拉取服务依赖镜像)  
  17. push               Push service images (推送服务镜像)  
  18. restart            Restart services (重启项目中的服务)  
  19. rm                 Remove stopped containers (删除所有停止状态的服务容器)  
  20. run                Run a one-off command (在指定服务上执行一个命令)  
  21. scale              Set number of containers for a service (设置指定服务执行的容器个数)  
  22. start              Start services (启动已存在的服务容器)  
  23. stop               Stop services (停止已存在的服务容器)  
  24. top                Display the running processes (显示容器正在运行的进程)  
  25. unpause            Unpause services (恢复处于暂停状态的容器)  
  26. up                 Create and start containers (自动完成包括构建镜像、创建服务、启动服务并关联服务相关容器的一系列操作)  
  27. version            Show the Docker-Compose version information (输出版本)  

这些命令的使用方法可以使用执行docker-compose [COMMAND] --help 或者docker-compose help [COMMAND]可以查看命令的帮助信息

因为太多的原因我这里就不写了,有时间我在把每个命令的使用方法补上吧

针对模板文件的使用才是重中之重,我在后面会对模板文件详细讲解

官方链接:https://docs.docker.com/compose/reference/build/

 

环境变量

  1. 环境变量可以用来配置 Compose 的行为,以DOCKER_开头的变量和用来配置 Docker 命令行客户端的使用一样。如果使用 boot2docker , $(boot2docker shellinit) 将会设置它们为正确的值  
  2.    
     
  3. COMPOSE_PROJECT_NAME    设置通过 Compose 启动的每一个容器前添加的项目名称,默认是当前工作目录的名字。  
  4.    
     
  5. COMPOSE_FILE            设置要使用的 docker-compose.yml 的路径。默认路径是当前工作目录。  
  6.    
     
  7. DOCKER_HOST             设置 Docker daemon 的地址。默认使用 unix:///var/run/docker.sock,与 Docker 客户端采用的默认值一致。  
  8.    
     
  9. DOCKER_TLS_VERIFY       如果设置不为空,则与 Docker daemon 交互通过 TLS 进行。  
  10.    
     
  11. DOCKER_CERT_PATH        配置 TLS 通信所需要的验证(ca.pem、cert.pem 和 key.pem)文件的路径,默认是 ~/.docker 

在使用的时候在做解释和操作吧,因为一般不会改环境变量的东西,默认的就OK,做个简单的了解

官方链接:https://docs.docker.com/compose/reference/envvars/#compose_project_name

Docker Compose 基本使用的更多相关文章

  1. Docker compose学习笔记

    一.compose compose 作用 你的应用可能需要很多个服务,比如web服务,数据库服务,缓存服务等等.我们可以把这些服务放到单独的容器里面,如果手工去配置这些服务会有些麻烦,docker c ...

  2. docker compose 笔记

    https://www.youtube.com/watch?v=Uez88TWOECg 是基于这个视频做的笔记. Docker Compose: Compose is a tool for defin ...

  3. 利用docker compose启动gitlab及runner

    添加docker compose配置文件 新建文件docker-compose.yml,输入如下内容: gitlab: image: 'gitlab/gitlab-ce:latest' contain ...

  4. Docker Compose to CoreOS

    taken from https://docs.docker.com/compose/install/ the only thing is that /usr is read only, but /o ...

  5. Docker Compose—简化复杂容器应用的利器

    Compose是用于定义和运行复杂Docker应用的工具.你可以在一个文件中定义一个多容器的应用,然后使用一条命令来启动你的应用,然后所有相关的操作都会被自动完成. 1. 安装Docker和Compo ...

  6. .NET遇上Docker - 使用Docker Compose组织Ngnix和.NETCore运行

    本文工具准备: Docker for Windows Visual Studio 2015 与 Visual Studio Tools for Docker 或 Visual Studio 2017 ...

  7. Docker Compose容器编排

    Compose是Docker官方的开源项目,可以实现对Docker容器集群的快速编排.Compose 中有两个重要的概念:服务(service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实 ...

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

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

  9. Spring Boot 2.0(五):Docker Compose + Spring Boot + Nginx + Mysql 实践

    我知道大家这段时间看了我写关于 docker 相关的几篇文章,不疼不痒的,仍然没有感受 docker 的便利,是的,我也是这样认为的,I know your felling . 前期了解概念什么的确实 ...

  10. Docker学习笔记 - Docker Compose 脚本命令

    Docker Compose 配置文件包含 version.services.networks 三大部分,最关键的是 services 和 networks 两个部分, version: '2' se ...

随机推荐

  1. 小熊派IoT开发板系列教程正式发布——免费学习

    [摘要] 小熊派开源社区针对小熊派IoT开发板首次规划了小熊派未来的系列教程.从基础到进阶的设计,可适应具有不同基础的开发者,通过该系列教程的学习,开发者能够轻松掌握IoT产品的开发.该系列教程包括单 ...

  2. gitbook 入门教程之增强版 edit-link-plus 编辑此页插件

    Gitbook plugin add "edit this page" link, and intelligent recognition to Github or Gitlab ...

  3. mininet(一)实验环境搭建

    mininet(一)实验环境搭建 mininet(二)简单的路由实验 mininet(三)简单的NAT实验 最近学习(https://github.com/mininet/openflow-tutor ...

  4. Java中的等待唤醒机制—至少50%的工程师还没掌握!

    这是一篇走心的填坑笔记,自学Java的几年总是在不断学习新的技术,一路走来发现自己踩坑无数,而填上的坑却屈指可数.突然发现,有时候真的不是几年工作经验的问题,有些东西即使工作十年,没有用心去学习过也不 ...

  5. F#周报2019年第50期

    新闻 Azure Functions 3.0系统上线 GC性能架构--第1部分 ConfigureAwait问题解答 介绍System.Threading.Channels Windows Serve ...

  6. 【JS】388- 深入了解强大的 ES6 「 ... 」 运算符

    本文原载于 SegmentFault 社区 专栏:大前端  作者:皮小蛋 背景 ... 运算符,是 ES6 里一个新引入的运算法,也叫 展开/收集 运算符,我们每天都要和它打交道. 这篇文章,我就带你 ...

  7. 【JS】376- Axios 使用指南

    点击上方"前端自习课"关注,学习起来~ 来源 | https://www.jianshu.com/p/df464b26ae58 一.axios    基于promise用于浏览器和 ...

  8. 【Vuejs】269- 提升90%加载速度——vuecli下的首屏性能优化

    前言 之前用 ,所以接下来还会介绍一些它们在优化上的异同 分析 vuecli 2.x自带了分析工具只要运行 npm run build --report 如果是 vuecli 3的话,先安装插件 cn ...

  9. Fusion360_Generative Design 入门学习笔记

    2019.12.17更新 初次见到衍生式设计的时候感觉非常惊艳,现在觉得这个功能就是个弟弟,只能做一些中看不中用的东西.这个方法的理论基础是拓扑优化,想做research的同学可参阅"如何入 ...

  10. nginx配置隐藏index.php

    Nginx 服务器隐藏 index.php 配置   location / { try_files $uri $uri/ /index.php?$query_string; }   nginx配置中t ...