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 ...
随机推荐
- 2019-2020-1 20199304《Linux内核原理与分析》第七周作业
进程的描述和进程的创建 1.进程描述 1.1操作系统的三大管理功能以及对应的抽象概念: 进程管理 内存管理 文件系统 1.2Linux进程的状态: (1)Linux中进程的状态细分可以分为七种: R运 ...
- HTML+CSS的小实例
通过一个月以来对HTML5+CSS的学习.这篇随笔给大家来做一个简单的网页中常见的导航栏. 这些都称之为网页中的导航栏. 我简单的做了一个某宝和58同城的导航栏,供大家学习参考. 一.58同城导航栏: ...
- MySQL必知必会(组合Where子句,Not和In操作符)
SELECT prod_id, prod_price, prod_name FROM products ; SELECT prod_id, prod_price, prod_name FROM pro ...
- chrome浏览器通过ajax的POST请求报403解决方法
方法1 把POST改成GET方式 方法2 添加请求格式contentType:“application/json”,
- 制作通用framework的几点注意
一.创建framework,调成静态的framework . 二.匹配bitcode 三.增加-ObjC 在BuildSettting ->Linking->Other Linker Fl ...
- 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 ...
- 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 ...
- Dapr 运用之集成 Asp.Net Core Grpc 调用篇
前置条件: <Dapr 运用> 改造 ProductService 以提供 gRPC 服务 从 NuGet 或程序包管理控制台安装 gRPC 服务必须的包 Grpc.AspNetCore ...
- CCF-CSP题解 201503-4 网络延时
求树的直径. 两遍\(dfs\)就好了. #include <cstdio> #include <cstring> #include <algorithm> #in ...
- pytho GUI编程之Tkinter
摘录 python核心编程s GUI(Graphical User Interface)图形用户界面. Tcl.Tk和Tkinter Tkinter是python的默认GUI库.它基于Tk工具包,该工 ...