docker入门2-docker service
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的更多相关文章
- Docker入门 - 006 Docker 多种数据库的安装
Docker 安装 MySQL 查找Docker Hub上的mysql镜像 root@VM_16_14_centos ~# docker search mysql INDEX NAME DESCRIP ...
- 【Docker入门】Docker的常用命令
了解和安装完docker之后,我们学习一下docker的常用命令就和当初学linux命令一样,放心命令其实大致相同只不过细节不同. 一.Docker启动类命令 1.启动docker:syste ...
- Docker入门 - 004 Docker 容器使用
Docker 客户端 docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项. docker 可以通过命令 docker command -- ...
- Docker入门 - 003 Docker 实例
Docker Hello World Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序. 输出Hello world runoob@runoob: ...
- Docker入门之一Docker在Window下安装
最近这几年,各个大公司都在打造自己的云平台,什么阿里云,华为云,腾讯云等等云,以及各种的微服务架构,其实在这当中Docker容器技术算是一个很重要的角色. 一.下载 在下载之前首先检查一下自己的电脑是 ...
- Docker入门-搭建docker私有仓库
Docker Hub 目前Docker官方维护了一个公共仓库Docker Hub,其中已经包括了数量超过15000个镜像.大部分需求都可以通过在Docker Hub中直接下载镜像来使用. 注册登录 可 ...
- Docker入门——理解Docker的核心概念
1 前言 相信不少人听过这么一句话: 人类的本质是复读机. 在软件开发领域也一样,我们总是想寻找更好地方式复制优秀的逻辑或系统.最核心的方法是抽取通用逻辑和组件,把差异化的东西接口化或配置化,达到复用 ...
- Docker 入门之创建service(一)
在一个分布式应用中,我们把应用的不同层叫做"Services".比如,一个视频共享应用,它包含存储数据到数据库的服务,用户上载后后台进行的视频解码服务,前端服务等等. 然而,一个服 ...
- Docker入门 - 005 Docker 容器连接
Docker 容器连接 前面我们实现了通过网络端口来访问运行在docker容器内的服务.下面我们来实现通过端口连接到一个docker容器 网络端口映射 我们创建了一个 python 应用的容器. do ...
- Docker入门 - 002 Docker 的简单操作
系统要求:CentOS 7.2 64 位操作系统. Docker 的简单操作 下载镜像 下载一个官方的 CentOS 镜像到本地 docker pull centos 下载好的镜像就会出现在镜像列表里 ...
随机推荐
- 使用 flask 构建我的 wooyun 漏洞知识库
前言 最近在学 flask,一段时间没看,又忘得差不多了,于是弄这个来巩固一下基础知识 漏洞总共包括了 88820 个, Drops 文章总共有 1235 篇,全来自公开数据,在 Github 上收集 ...
- ES搜索引擎-一篇文章就够了
toc: true title: 一周一个中间件-ES搜索引擎 date: 2019-09-19 18:43:36 tags: - 中间件 - 搜索引擎 前言 在众多搜索引擎中,solr,es是我所知 ...
- jmeter变量的声明和使用
@@@@@@@@@@@@@@@ 据说好多人早上看时间不是为了起床,而是看还能睡多久 jmeter中变量的使用还是很广泛的,有语言基础的都知道变量是什么意思.在jmeter中变量的声明和调用也都有自己的 ...
- Spring学习之Spring与Mybatis的两种整合方式
本机使用IDEA 2020.1.MySql 8.0.19,通过Maven进行构建 环境准备 导入maven依赖包 <dependencies> <dependency> < ...
- Laravel 定时任务调度 的 Artisan 命令调度
1.创建命令 php artisan make:command command_name --command=artisan_command_name # Explanation: # command ...
- matplotlib绘制子图
fig,subs = plt.subplots(2,2) subs[0][0].plot(data_math_C1) subs[0][0].set_title('C_1 曲线') subs[0][1] ...
- C++ 第二天 字符串
字符串 字符串是最常用的一种数据类型了,在python中声明字符串和声明其他类型的数据一样,都非常的简单.但是在c++中,对于字符串的操作,相对来说要稍微复杂一些. C++ 提供了以下两种类型的字符串 ...
- PHP isset() 函数
isset() 函数用于检测变量是否已设置并且非 NULL.高佣联盟 www.cgewang.com 如果已经使用 unset() 释放了一个变量之后,再通过 isset() 判断将返回 FALSE. ...
- Canvas知识点补充
Canvas笔记 复习 初识canvas <canvas> 是 HTML5 新增的,一个可以使用脚本(通常为 JavaScript) 在其中绘制图像的 HTML 元素.它可以用来制作照片集 ...
- [转]Java CPU 100% 排查技巧
文章来源:微信公众号:猿天地 平时多积累一点,这样在遇到问题的时候就少句求人的话.如果在实际的开发中遇到CPU 100%问题,要怎么排查呢?如果你没有遇到过这个问题,请先自己思考10s,如果你遇到过, ...