Docker Swarm Mode 学习笔记 (部署服务)

时间:2022-11-05 16:51:21

使用 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 学习笔记 (部署服务)的更多相关文章

  1. Docker Swarm Mode 学习笔记(聊聊 replicas)

    在 Swarm 集群中, 创建服务时可以通过设置 --replicas 参数来指定此服务在工作节点上运行的任务数. 示例 这里我们来创建一个 nginx 服务作为示例: version: '3' se ...

  2. Docker Swarm Mode 学习笔记 (基本概念)

    ​ Swarm 是使用 SwarmKit 构建的 Docker 引擎内置(原生)的集群管理和编排工具 节点 ​ 运行 Docker 的主机可以主动初始化一个 Swarm 集群 docker swarm ...

  3. Docker Swarm Mode 学习笔记(创建 Swarm 集群)

    Swarm 集群由管理节点与工作节点组成. 初始化集群 使用命令:docker swarm init 如果你的 Docker 主机有多个网卡, 拥有多个 IP 地址, 必须使用 --advertise ...

  4. Docker Swarm集群中部署Traefik负载均衡器

    一.创建单节点的Docker Swarm集群 docker swarm init 二.在Swarm集群中创建一个网络 docker network create --driver=overlay tr ...

  5. Docker Image管理学习笔记,ZT

    Docker Image管理学习笔记 http://blog.csdn.net/junjun16818/article/details/38423391

  6. SpringCloud学习笔记:服务支撑组件

    SpringCloud学习笔记:服务支撑组件 服务支撑组件 在微服务的演进过程中,为了最大化利用微服务的优势,保障系统的高可用性,需要通过一些服务支撑组件来协助服务间有效的协作.各个服务支撑组件的原理 ...

  7. docker容器的学习笔记

    目录 Docker入门学习笔记(一) 1. 什么是Docker? 2. Docke的目标 3. Docker通常应用场景 4. Docker的基本组成 补:Docker容器相关技术简介 安装Docke ...

  8. 云计算之路-阿里云上-容器难容:优化自建 docker swarm 集群的部署

    在上周六遭遇阿里云容器服务 swarm 版的故障之后,我们决定还是走自建 docker swarm 之路,只要不是阿里云底层的问题,我们相信会找到办法解决或避开自建 docker swarm 不稳定的 ...

  9. Apache OFBiz 学习笔记 之 服务引擎 二

    加载服务定义文件   ofbiz-component.xml:所有的服务定义文件在每个组件的ofbi-component.xml文件中   加载服务定义 例:framework/common/ofbi ...

随机推荐

  1. (3)redis队列功能

    Redis队列功能介绍 List 常用命令: Blpop删除,并获得该列表中的第一元素,或阻塞,直到有一个可用 Brpop删除,并获得该列表中的最后一个元素,或阻塞,直到有一个可用 Brpoplpus ...

  2. phalcon: 上下文转义

    phalcon: 上下文转义 Phalcon\Escaper 转义特殊的字符 一:字符转义 $maliciousTitle = '</title><script>alert(1 ...

  3. 如何将 select top 4 id from table1 赋值 给 declare &commat;id1 int&comma;&commat;id2 int&comma;&commat;id3 int&comma;&commat;id4 int

    declare @id1 int,@id2 int,@id3 int,@id4 int ),) select @sickcode = sickcode,@sfrq =sfrq from tablena ...

  4. jquery animate函数实现

    jquery animate 函数 实现动画效果 参数一 比如高度宽度 之类的:'-=50' 参数二 速度之类 <html xmlns="http://www.w3.org/1999/ ...

  5. JVM学习之类的卸载机制

    类的生命周期 当Sample类被加载.连接和初始化后,它的生命周期就开始了,当代表Sample类的Class对象不再被引用,即不可触及时,Class对象就会结束生命周期,Sample类在方法区内的数据 ...

  6. winform中的 datagriview 字段自动填充长度

    在winfrom 的 datagridview 中 绑定字段 经常回在最后面空出一部分来,显得不美观, 现在教大家如何让它自适应宽度 public static void Autogrid(DataG ...

  7. 解决JSON&period;stringify&lpar;&rpar;自动将中文转译成unicode的方法

    最近在工作中,发现在IE8下JSON.stringify()自动将中文转译为unicode编码,原本选择的中文字符,传到后台变为了unicode编码,即\u****的形式.查找资料后发现,与标准的JS ...

  8. js 2017

    JS面向对象 <script> function num(val) { return val * 8 } function Index(name, age) { this.name = n ...

  9. PAT 1046 划拳

    https://pintia.cn/problem-sets/994805260223102976/problems/994805277847568384 划拳是古老中国酒文化的一个有趣的组成部分.酒 ...

  10. Java核心技术-映射

    集是一个集合,它可以快速地查找现有的元素.但是,要查看一个元素,需要有要查找元素的精确副本.这不是一种非常通用的查找方式.通常,我们知道某些键的信息,并想要查找与之对应的元素.映射(map)数据结构就 ...