docker stack 部署 mssql
===============================================
2019/12/8_第1次修改 ccb_warlock
===============================================
因为最近的工作项目使用的是mssql(自从知道mssql之后,我几乎不再说起另一个累赘的名字:sql server),不得不去重新学习使用mssql。
我的理解是,使用mssql仅仅只是使用数据表时,用docker运行一个开发用的容器比起在一台win server中安装一个来的高效且省资源。
当然如果还需要写存储过程及其调试,那还是用ssms来开发和调试吧(过程比起oracle、mysql虐心太多)。
因为我自学过docker、又喜欢折腾这种可以省时间的技术,所以整理了这篇笔记给路人参考。
一、前提条件
- 环境中已经部署了docker swarm(http://www.cnblogs.com/straycats/p/8978135.html)
- 最好也部署了portainer(http://www.cnblogs.com/straycats/p/8978201.html)
- 默认swarm创建了network:swarm-net
二、部署MSSQL
由于项目需要,我部署的是mssql 2017。
2.1 创建目录映射
mkdir -p /usr/docker-vol/mssql
2.2 配置mssql-stack.yml
# 编辑mssql-stack.yml
mkdir -p /opt/compose
vi /opt/compose/mssql-stack.yml
# 添加下面的内容到mssql-stack.yml文件内,wq保存。
version: "3.6"
services:
mssql:
image: mcr.microsoft.com/mssql/server:2017-latest-ubuntu
environment:
- TZ=Asia/Shanghai
- ACCEPT_EULA=Y # 同意条款
- SA_PASSWORD=Abc111111 # sa账号的密码
volumes:
- /usr/docker-vol/mssql:/var/opt/mssql
deploy:
replicas: 1
restart_policy:
condition: any
resources:
limits:
cpus: ""
memory: 2G # mssql至少要2G内存,不要限制的太小了
update_config:
parallelism: 1 # 每次更新1个副本
delay: 5s # 每次更新间隔
monitor: 10s # 单次更新多长时间后没有结束则判定更新失败
max_failure_ratio: 0.1 # 更新时能容忍的最大失败率
order: start-first # 更新顺序为新任务启动优先
ports:
- 1433:1433
networks:
- swarm-net networks:
swarm-net:
external: true
2.3 创建服务
1)命令方式
cd /opt/compose
docker stack deploy -c mssql-stack.yml mssql-stack
2)portainer界面方式(推荐)
登录portainer(如果是根据上面的教程部署的portainer,浏览器访问http://宿主机IP:9000,在stack中增加mssql-stack.yml文件中的内容)
docker stack 部署 mssql的更多相关文章
- docker stack 部署容器监控方案(cAdvisor、Prometheus、Grafana)
=============================================== 2018/7/8_第1次修改 ccb_warlock === ...
- docker stack 部署 mysql 5.6
=============================================== 2018/7/1_第1次修改 ccb_warlock === ...
- docker stack 部署 filebeat
=============================================== 2018/7/21_第3次修改 ccb_warlock 更新 ...
- docker stack 部署 redis
=============================================== 2019/4/16_第2次修改 ccb_warlock 更新 ...
- docker stack 部署 seafile(http)
=============================================== 2018/5/13_第1次修改 ccb_warlock == ...
- docker stack 部署 rabbitmq 容器
=============================================== 2018/5/13_第1次修改 ccb_warlock == ...
- docker stack 部署nginx
=============================================== 2018/7/29_第1次修改 ccb_warlock == ...
- Docker 的部署方式
在使用 docker run 命令启动 Docker 容器时,如果需要进行端口映射.目录挂载.网络信息等配置,整条命令将变得非常长,并且由于是一条 shell 命令,修改和复用也不方便.我们在大规模部 ...
- 容器基础(八): 使用docker swarm部署程序
环境 基于上一节的env/server:v0.1, env/worker:v0.1镜像, 在基于debian8.2的两台机器上测试部署docker swarm. docker service部署 ➜ ...
随机推荐
- COCI 2015、2016 1st round 题解(官方)
官方题解: 官方代码: Code-KARTE: #include <cstdio> #include <iostream> #include <cstring> u ...
- kkk
#!/usr/bin/env python3# coding=utf-8# Author: yannanxiu"""create_rsa_key() - 创建RSA密钥m ...
- player: 初始化分析
//1. //cocos 程序开始运行时执行的函数 bool AppDelegate::applicationDidFinishLaunching() { // initialize director ...
- Octopus501工作站 安装记录
cmake libreadline-dev 没有运行程序,nvidia-smi查看GPU-Util 达到100% 解决方案:需要把驱动模式设置为常驻内存才可以,设置命令:nvidia-smi -pm ...
- ImportError: DLL load failed while importing win32api: 找不到指定的模块。
这个是用pip install pywin32安装报的一个错误 据说直接使用pip install pypiwin32安装就不会有报错 但是遇到错误还是要尝试解决一下的 pip install pyw ...
- ThreadPoolExecutor的坑
ExecutorService executorService = new ThreadPoolExecutor(0, MAX_THREAD_NUM, 60, TimeUnit.SECONDS, ne ...
- CloudFlare上线了新的Proxy Anything选项, 支持转发TCP连接
https://www.nicho1as.wang/articles/cf-proxy-anything.html 申请地址:https://goo.gl/forms/Oc2jyyo0kXsrMyw3 ...
- 【mybatis源码学习】缓存机制
一.mybatis的缓存 一级缓存:sqlsession级别,默认开启(一个事务内有效)二级缓存: sqlsessionFactory级别,需要手动开启,在xml配置cache节点(依赖事务的执行结 ...
- 【Python】解析Python中的装饰器
python中的函数也是对象,函数可以被当作变量传递. 装饰器在python中功能非常强大,装饰器允许对原有函数行为进行扩展,而不用硬编码的方式,它提供了一种面向切面的访问方式. 装饰器 一个普通的装 ...
- kotlin基础 枚举
enum class WEEK {星期一,星期二,星期三,星期四,星期五,星期六,星期日} Kotlin 枚举类 枚举类最基本的用法是实现一个类型安全的枚举. 枚举常量用逗号分隔,每个枚举常量都是一个 ...