博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker Swarm 编排及部署 PostGIS,并操作 GIS 数据
阅读量:6703 次
发布时间:2019-06-25

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

hot3.png

postgis 镜像的基础是 PostgreSql,所以我们部署了 postgis 镜像也就意味着有了 PostgreSql 数据库,在Docker Hub上已经有人为我们构建好了,我们拉取配置即可使用。

Swarm 是 Docker 官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker 主机上的各种 Docker 资源。相较与 k8s(Kubernetes), Swarm 的功能也更少一些。但是 Docker 公司已经同时支持了 Swarm 和k8s。 Swarm 的基本架构如下图所示,

docker_swarm_architecture

Docker stack 是一组有关服务的管理组合,是 Docker 关系层级中最高的一级,其作用主要是编排及管理服务(Service)。

目录及文件创建

创建目录

创建的目录用来做容器的数据存储,因为容器秉承的是用完即毁的理念,所以我们应该将我们的数据放在容器之外,生产环境之中,方便下次使用。

$ mkdir pgadmin_data && mkdir postgres_data # pgadmin_data 存储pgadmin的登录即数据库链接信息, postgres_data 存储数据库生产数据$ tree.├── deploy├── docker-compose.yml├── pgadmin_data└── postgres_data

编写 docker-compose.yml 文件

此次部署我们用到容器的编排,所以会有 deploy 里面的各种信息,若有不理解的,还请移步 。

version: '3'services:  postgis:    image: kartoza/postgis:9.6-2.4    ports:      - "5432:5432"    environment:      POSTGRES_USER: sde      POSTGRES_PASS: sde      POSTGRES_DBNAME: gis      ALLOW_IP_RANGE: 0.0.0.0/0    volumes:      - ./postgres_data:/var/lib/postgresql    deploy:      mode: replicated      replicas: 1      restart_policy:        condition: on-failure        delay: 5s        max_attempts: 3      update_config:        parallelism: 1        delay: 10s      placement:        constraints:          - node.role == manager  pgadmin:    image: chorss/docker-pgadmin4    ports:      - "8888:5050"    environment:      PGADMIN_SETUP_EMAIL: guzhongren@live.cn      PGADMIN_SETUP_PASSWORD: 000000    volumes:      - ./pgadmin_data:/data    deploy:      mode: replicated      replicas: 1      restart_policy:        condition: on-failure        delay: 5s        max_attempts: 3      update_config:        parallelism: 1        delay: 10s      placement:        constraints:          - node.role == manager

swarm 初始化及镜像部署

docker swarm 初始化

$ docker swarm initSwarm initialized: current node (bvz81updecsj6wjz393c09vti) is now a manager.To add a worker to this swarm, run the following command:    docker swarm join \    --token SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx \    172.17.0.2:2377To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

获取及部署镜像

编写启动脚本

转载于:https://my.oschina.net/u/3611008/blog/1820542

你可能感兴趣的文章
百分比定位加position定位的常用布局
查看>>
SDK更新太慢
查看>>
2014年5月份
查看>>
Codeforces Round #257 (Div. 2/A)/Codeforces450A_Jzzhu and Children
查看>>
android 拍照注意问题
查看>>
form中的button按钮在IE11中自动提交表单问题导致弹出框关闭之后表单被重置
查看>>
在多个游戏视图间切换环境准备
查看>>
Linux命令-权限管理命令:chown
查看>>
【转】【MMX】 基于MMX指令集的程序设计简介
查看>>
Atitit 《摩奴法典》overivew 读后感 不是由国王 颁布的,而是 僧侣编制
查看>>
第三方推送-使用推
查看>>
Hadoop 2.2.0 HA构造
查看>>
WIN8系统中 任务管理器 性能栏 显示CPU利用率(已暂停)怎么回事?
查看>>
java如何将毫秒数转为相应的年月日格式
查看>>
whu oj 1551 Pairs (莫队算法)
查看>>
BZOJ3424 : Poi2013 Multidrink
查看>>
eclipse 预览Android界面报错
查看>>
iOS:iOS开发系列–打造自己的“美图秀秀”(中)
查看>>
keepalived对nginx高可用演练脚本
查看>>
swift实现ios类似微信输入框跟随键盘弹出的效果
查看>>