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. 2019-2020-1 20199304《Linux内核原理与分析》第七周作业

    进程的描述和进程的创建 1.进程描述 1.1操作系统的三大管理功能以及对应的抽象概念: 进程管理 内存管理 文件系统 1.2Linux进程的状态: (1)Linux中进程的状态细分可以分为七种: R运 ...

  2. HTML+CSS的小实例

    通过一个月以来对HTML5+CSS的学习.这篇随笔给大家来做一个简单的网页中常见的导航栏. 这些都称之为网页中的导航栏. 我简单的做了一个某宝和58同城的导航栏,供大家学习参考. 一.58同城导航栏: ...

  3. MySQL必知必会(组合Where子句,Not和In操作符)

    SELECT prod_id, prod_price, prod_name FROM products ; SELECT prod_id, prod_price, prod_name FROM pro ...

  4. chrome浏览器通过ajax的POST请求报403解决方法

    方法1  把POST改成GET方式 方法2 添加请求格式contentType:“application/json”,

  5. 制作通用framework的几点注意

    一.创建framework,调成静态的framework . 二.匹配bitcode 三.增加-ObjC 在BuildSettting ->Linking->Other Linker Fl ...

  6. 2017 CCPC秦皇岛 H题 Prime set

    Given an array of  integers , we say a set  is a prime set of the given array, if  and  is prime. Ba ...

  7. ARTS-S mac终端ftp命令行上传下载文件

    上传 ftp -u ftp://root:123456@10.11.12.3/a.txt a.txt 下载 ftp -o a.txt ftp://root:123456@10.11.12.13/a.t ...

  8. Dapr 运用之集成 Asp.Net Core Grpc 调用篇

    前置条件: <Dapr 运用> 改造 ProductService 以提供 gRPC 服务 从 NuGet 或程序包管理控制台安装 gRPC 服务必须的包 Grpc.AspNetCore ...

  9. CCF-CSP题解 201503-4 网络延时

    求树的直径. 两遍\(dfs\)就好了. #include <cstdio> #include <cstring> #include <algorithm> #in ...

  10. pytho GUI编程之Tkinter

    摘录 python核心编程s GUI(Graphical User Interface)图形用户界面. Tcl.Tk和Tkinter Tkinter是python的默认GUI库.它基于Tk工具包,该工 ...