Docker Swarm Mode 学习笔记 (部署服务)
使用 docker service
命令来管理 Swarm 集群中的服务,该命令只能在管理节点上执行。
新建服务
docker service create --replicas 3 -p 80:80 --name nginx nginx:latest
解释一下这条命令:
--replicas 3
: 任务数量
-p 80:80
:配置节点与容器端口映射
--name nginx
:服务名称
nginx:latest
: 镜像名与版本, 与启动容器一致
查看服务
查看当前 Swarm 集群运行的服务: docker service ls
查看单个服务详情: docker service ps 服务名
查看单个服务日志: docker service logs 服务名
删除服务
docker service rm 服务名
在 Swarm 集群中使用 compose 文件
docker-compose.yml 文件不仅仅可以用来编排,启动一组容器,也同样可以用来在 Swarm 集群中编排,启动多个服务。
例子:(注释很详细)
version: "3"
services:
wordpress: # 声明 wordpress 服务
image: wordpress # 基于 wordpress 镜像
ports: # 配置服务与节点之间的端口映射
- 80:80
networks: # 设置使用的网络
- overlay
environment: # 设置环境变量
WORDPRESS_DB_HOST: db:3306 # 设置 wordpress 使用的数据库地址
WORDPRESS_DB_USER: wordpress # 设置 wordpress 数据库访问用户
WORDPRESS_DB_PASSWORD: wordpress # 设置 wordpress 数据库访问密码
deploy: # 设置服务发布模式
mode: replicated # 每个工作节点都会运行3个服务
replicas: 3 # 设置 3 个分片
db:
image: mysql
networks:
- overlay
volumes: # 设置数据卷, 数据卷不会因为服务的移除而删除
- db-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: somewordpress # 这里做的 mysql 数据库设置均置的相对应
MYSQL_DATABASE: wordpress # 与 wordpress 服务中设置相匹配
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
deploy:
placement: # 服务发布条件
constraints: [node.role == manager] # 只在管理节点上发布此服务
visualizer:
image: dockersamples/visualizer:stable
ports:
- "8080:8080"
stop_grace_period: 1m30s # 在收到服务停止信号之后的 1分30秒后退出容器
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
deploy:
placement:
constraints: [node.role == manager] # 只在管理节点上发布此服务
volumes:
db-data: # 创建数据卷
networks:
overlay: # 创建网络
部署服务:
docker stack deploy -c docker-compose.yml wordpress
移除服务:
docker stack rm wordpress
此命令不会移除数据卷。
Docker Swarm Mode 学习笔记 (部署服务)的更多相关文章
- Docker Swarm Mode 学习笔记(聊聊 replicas)
在 Swarm 集群中, 创建服务时可以通过设置 --replicas 参数来指定此服务在工作节点上运行的任务数. 示例 这里我们来创建一个 nginx 服务作为示例: version: '3' se ...
- Docker Swarm Mode 学习笔记 (基本概念)
Swarm 是使用 SwarmKit 构建的 Docker 引擎内置(原生)的集群管理和编排工具 节点 运行 Docker 的主机可以主动初始化一个 Swarm 集群 docker swarm ...
- Docker Swarm Mode 学习笔记(创建 Swarm 集群)
Swarm 集群由管理节点与工作节点组成. 初始化集群 使用命令:docker swarm init 如果你的 Docker 主机有多个网卡, 拥有多个 IP 地址, 必须使用 --advertise ...
- Docker Swarm集群中部署Traefik负载均衡器
一.创建单节点的Docker Swarm集群 docker swarm init 二.在Swarm集群中创建一个网络 docker network create --driver=overlay tr ...
- Docker Image管理学习笔记,ZT
Docker Image管理学习笔记 http://blog.csdn.net/junjun16818/article/details/38423391
- SpringCloud学习笔记:服务支撑组件
SpringCloud学习笔记:服务支撑组件 服务支撑组件 在微服务的演进过程中,为了最大化利用微服务的优势,保障系统的高可用性,需要通过一些服务支撑组件来协助服务间有效的协作.各个服务支撑组件的原理 ...
- docker容器的学习笔记
目录 Docker入门学习笔记(一) 1. 什么是Docker? 2. Docke的目标 3. Docker通常应用场景 4. Docker的基本组成 补:Docker容器相关技术简介 安装Docke ...
- 云计算之路-阿里云上-容器难容:优化自建 docker swarm 集群的部署
在上周六遭遇阿里云容器服务 swarm 版的故障之后,我们决定还是走自建 docker swarm 之路,只要不是阿里云底层的问题,我们相信会找到办法解决或避开自建 docker swarm 不稳定的 ...
- Apache OFBiz 学习笔记 之 服务引擎 二
加载服务定义文件 ofbiz-component.xml:所有的服务定义文件在每个组件的ofbi-component.xml文件中 加载服务定义 例:framework/common/ofbi ...
随机推荐
- 点击按钮如何改变当前窗口的url
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- LINQ交集/并集/差集/去重
using System.Linq; List<string> ListA = new List<string>(); List<string> ListB = n ...
- python 批量ping脚本不能用os.system
os.system(cmd)通过执行命令会得到返回值. ping通的情况下返回值为0. ping不通的情况: 1.请求超时,返回值1 2.无法访问目标主机,返回值为 0,和ping通返回值相同 所 ...
- Go 初体验 - 并发与锁.3 - 竞态
竞态,就是多个协程同时访问临界区,由并发而产生的数据不同步的状态. 这个说的有点low,没办法,我就是这么表达的,官方的请度娘. 先上代码: 输出: 为何不是1000?就是因为竞态,发生竞态后,最终的 ...
- Linq To Object 函数介绍
static void Main(string[] args) { #region Aggregate 把集合中的元素按照表达式依次执行 { IEnumerable<int> list = ...
- caffe的cancat层
我在训练Goolenet inception-v3时候出现了concat错误,因此写下concat层的一些知识点,以供读者跳坑 concat层在inception-v3网络中存在非常明显,之所以需要c ...
- 通过js或jq增加的代码,点击事件或其他一些事件不起作用时
通过js或jq增加的代码,点击事件或其他一些事件不起作用时,可使用 $(document).on("click",".noshow",function() { ...
- 零门槛,包教会。让你在5分钟内使用以太坊ERC20智能合约发行属于自己的空气币
前言 目前区块链是互联网中最最火的风口,没有之一.我周围的很多朋友也加入了“炒币”行列,但很不幸,几乎都被“割韭菜”了.而经过我的几天研究,发现,如果自己要发行一种空气币,简直太简单了.只需要下面几个 ...
- pgrep
优势:可以只显示进程号 pgrep -l 显示进程名
- MIUI系统如何获取ROOT权限
MIUI系统有么好方法启用了Root超级权限?各位都清楚,Android手机有Root超级权限,一旦手机启用了root相关权限,就能够实现更多的功能,举例子,各位公司的营销部门的同事,使用大多数营销工 ...