docker service介绍

service是生产环境中某个image的container集合。一个service只使用一个image,但它编排这个image的运行方式,比如使用哪个端口,根据需求运行多少份container。在docker stack负载均衡中,一个service中的所有container可能均匀的分布在多台虚拟机/物理机中,但它们共用一个端口,看起来就想是运行在一台机器中的服务一样。改变业务吞吐量,只需要更改这个service的container数量。

docker service命令

编写docker-compose.yml

使用docker-compose.yml文件,可以轻松定义,运行和扩展docker平台的services。

docker-compose.yml

version: "3"
services:
web:
image:cchenyang/get-started:part2
deploy:
replicas: 5
resources:
limits:
cpus: "0.1"
memory: 50M
restart_policy:
# immediately restart containers if one fails
condition: on-failure
ports:
# map port 8001 on the host to web's port 8001
- "8001:8001"
networks:
- webnet
networks:
webnet:

运行负载均衡的docker app

初始化swarm

在部署docker app前,需要现初始化集群管理docker swarm init,完成之后才可以在这个初始化的swarm上部署。关于swarm后章说明。

部署docker app

部署app时给其取个名字docker stack depoly -c docker-compose.yml getstartedlab

根据上面的yml文件,当前单service stack用同一个image运行了5个container。

查看docker service

跟查看container的命令docker container ls类似(这里执行这句会找到5个container),查看docker service的命令是docker service ls,也可使用命令docker stack services getstartedlab,这里意思是查看stack下的名为getstartedlab的service。

伸缩docker app

直接修改yml文件中的replicas参数,再部署一遍docker stack depoly -c docker-compose.yml getstartedlab就可以改变container的数量。

删除docker app

删除stackdocker stack rm getstartedlab

卸载swarmdocker swarm leave --force

系列导航

docker入门1-docker container

docker入门3-docker swarm

docker入门4-docker stack

docker入门2-docker service的更多相关文章

  1. Docker入门 - 006 Docker 多种数据库的安装

    Docker 安装 MySQL 查找Docker Hub上的mysql镜像 root@VM_16_14_centos ~# docker search mysql INDEX NAME DESCRIP ...

  2. 【Docker入门】Docker的常用命令

    ​ ​ 了解和安装完docker之后,我们学习一下docker的常用命令就和当初学linux命令一样,放心命令其实大致相同只不过细节不同. 一.Docker启动类命令 1.启动docker:syste ...

  3. Docker入门 - 004 Docker 容器使用

    Docker 客户端 docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项. docker 可以通过命令 docker command -- ...

  4. Docker入门 - 003 Docker 实例

    Docker Hello World Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序. 输出Hello world runoob@runoob: ...

  5. Docker入门之一Docker在Window下安装

    最近这几年,各个大公司都在打造自己的云平台,什么阿里云,华为云,腾讯云等等云,以及各种的微服务架构,其实在这当中Docker容器技术算是一个很重要的角色. 一.下载 在下载之前首先检查一下自己的电脑是 ...

  6. Docker入门-搭建docker私有仓库

    Docker Hub 目前Docker官方维护了一个公共仓库Docker Hub,其中已经包括了数量超过15000个镜像.大部分需求都可以通过在Docker Hub中直接下载镜像来使用. 注册登录 可 ...

  7. Docker入门——理解Docker的核心概念

    1 前言 相信不少人听过这么一句话: 人类的本质是复读机. 在软件开发领域也一样,我们总是想寻找更好地方式复制优秀的逻辑或系统.最核心的方法是抽取通用逻辑和组件,把差异化的东西接口化或配置化,达到复用 ...

  8. Docker 入门之创建service(一)

    在一个分布式应用中,我们把应用的不同层叫做"Services".比如,一个视频共享应用,它包含存储数据到数据库的服务,用户上载后后台进行的视频解码服务,前端服务等等. 然而,一个服 ...

  9. Docker入门 - 005 Docker 容器连接

    Docker 容器连接 前面我们实现了通过网络端口来访问运行在docker容器内的服务.下面我们来实现通过端口连接到一个docker容器 网络端口映射 我们创建了一个 python 应用的容器. do ...

  10. Docker入门 - 002 Docker 的简单操作

    系统要求:CentOS 7.2 64 位操作系统. Docker 的简单操作 下载镜像 下载一个官方的 CentOS 镜像到本地 docker pull centos 下载好的镜像就会出现在镜像列表里 ...

随机推荐

  1. 使用 flask 构建我的 wooyun 漏洞知识库

    前言 最近在学 flask,一段时间没看,又忘得差不多了,于是弄这个来巩固一下基础知识 漏洞总共包括了 88820 个, Drops 文章总共有 1235 篇,全来自公开数据,在 Github 上收集 ...

  2. ES搜索引擎-一篇文章就够了

    toc: true title: 一周一个中间件-ES搜索引擎 date: 2019-09-19 18:43:36 tags: - 中间件 - 搜索引擎 前言 在众多搜索引擎中,solr,es是我所知 ...

  3. jmeter变量的声明和使用

    @@@@@@@@@@@@@@@ 据说好多人早上看时间不是为了起床,而是看还能睡多久 jmeter中变量的使用还是很广泛的,有语言基础的都知道变量是什么意思.在jmeter中变量的声明和调用也都有自己的 ...

  4. Spring学习之Spring与Mybatis的两种整合方式

    本机使用IDEA 2020.1.MySql 8.0.19,通过Maven进行构建 环境准备 导入maven依赖包 <dependencies> <dependency> < ...

  5. Laravel 定时任务调度 的 Artisan 命令调度

    1.创建命令 php artisan make:command command_name --command=artisan_command_name # Explanation: # command ...

  6. matplotlib绘制子图

    fig,subs = plt.subplots(2,2) subs[0][0].plot(data_math_C1) subs[0][0].set_title('C_1 曲线') subs[0][1] ...

  7. C++ 第二天 字符串

    字符串 字符串是最常用的一种数据类型了,在python中声明字符串和声明其他类型的数据一样,都非常的简单.但是在c++中,对于字符串的操作,相对来说要稍微复杂一些. C++ 提供了以下两种类型的字符串 ...

  8. PHP isset() 函数

    isset() 函数用于检测变量是否已设置并且非 NULL.高佣联盟 www.cgewang.com 如果已经使用 unset() 释放了一个变量之后,再通过 isset() 判断将返回 FALSE. ...

  9. Canvas知识点补充

    Canvas笔记 复习 初识canvas <canvas> 是 HTML5 新增的,一个可以使用脚本(通常为 JavaScript) 在其中绘制图像的 HTML 元素.它可以用来制作照片集 ...

  10. [转]Java CPU 100% 排查技巧

    文章来源:微信公众号:猿天地 平时多积累一点,这样在遇到问题的时候就少句求人的话.如果在实际的开发中遇到CPU 100%问题,要怎么排查呢?如果你没有遇到过这个问题,请先自己思考10s,如果你遇到过, ...