博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker-swarm建立本地集成开发环境
阅读量:7070 次
发布时间:2019-06-28

本文共 1469 字,大约阅读时间需要 4 分钟。

在k8s出现之后,docker-swarm使用的人越来越少,但在本地集成开发环境的搭建上,使用它还是比较轻量级的,它比docker-compose最大的好处就是容器之间的共享和服务的治理,你不需要links容器,也不知道关心失败之后的重启,这些都于swarm来实现。

对于docker-compose和docker-swarm的分工

  1. docker-compose用来进行镜像的编排,同时将多个相关镜像构建
  2. docker-swarm用来启动和管理容器,它不能构建镜像

建立compose文件,不支持build,links,depends_on

services:  db:    image: arungupta/couchbase:latest    ports:      - 8091:8091      - 8092:8092      - 8093:8093      - 11210:11210

swarm初始化

docker swarm init

建立服务

docker stack deploy --compose-file=docker-compose-swarm.yml lind

查看所有服务列表

docker stack ls

查看指定服务

docker stack services lind

更新某个服务

docker service update lind_service1 //有时我们的lind_service1依赖于configserver,当后者没有重启动,前者会一直报错,然后使用默认的配置,由于默认配置为localhost,所以就出现了连接失败的情况

删除服务

docker stack  rm lind

痛点

configserver是比较低层的服务,所有项目的配置都来自于这个服务,我们拿eureka配置为例,如果项目从配置中心拿不到它的配置,会使用默认的localhost:8761做为连接地址,这在某些不是localhost:8761的环境下,这简直就成了灾难。

配置中心使用本地仓库

配置中心的配置文件一般存储在git远程,而如果太依赖远程也不是好事 ,你可以把仓库下载到本地,然后挂载到容器目录即可,但在进行操作时也有一些需要注意的点:

  1. 配置中心的目录必须是git仓库,默认是master分支
  2. 使用docker-comopse部署时,使用volumes把宿主目录挂载到容器目录,例如固定为config_repo,它可以在yml文件里提前声明。
  • compose文件
configserver:   image: swarm_configserver   ports:     - "6200:6200"     - "6201:6201"   environment:     SPRING_PROFILES_ACTIVE: development     PORT: 6200     BG_PORT: 6201     EUREKA_PORT: 6761     MY_IP: 192.168.170.30   volumes:        - /Users/lind.zhang/github/config_repo:/config_repo
  • bootstramp.yml文件
spring:  profiles: development  cloud:    config:      server:        git:          uri: /config_repo

转载地址:http://rshll.baihongyu.com/

你可能感兴趣的文章
跨域iframe的高度自适应
查看>>
单相、二相、三相区别
查看>>
RabbitMQ要点
查看>>
Hello jna
查看>>
leetcode------Spiral Matrix II
查看>>
设置Session超时
查看>>
Powerdesigner数据库建模--概念模型--ER图【转】
查看>>
Python 3.x 学习笔记
查看>>
嵌套的三元运算符
查看>>
CFS 调度器学习笔记
查看>>
跨专业考研
查看>>
恢复PasswordChar 默认值、取消密码框设置
查看>>
Unity3D常见技术点(持续更新)
查看>>
solaris下安装jdk7
查看>>
SQL解析IP地址的几种方式
查看>>
SQL Server 2005/2008使用PIVOT/UNPIVOT行列转换
查看>>
LOOK AT THESE!!!
查看>>
C# WinForm DataGridView DataGridViewButtonColumn列禁用
查看>>
15个网页设计必备的Google Chrome 扩展:
查看>>
实验五
查看>>