docker stack 部署 mssql
2024-09-02 20:16:25
===============================================
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文件中的内容)
最新文章
- oc集合
- jQuery全屏动画焦点图
- yii2 查询去重
- Swift中文基础教程----下标
- mysql远程连接命令(转)
- python第一天基础1-1
- 100天后 - 100-days-later
- 关于IE9中webdiriver使用autoit上传文件报错
- .NET破解之太乐地图下载器【非暴破】
- 第一个WCF的程序
- A-Frame_简单介绍
- strncpy 和 strcpy的区别 (要抽时间重点看,未完待续)
- Asp.net 同时下载多个文件
- [Effective Modern C++] Item 5. Prefer auto to explicit type declarations - 相对显式类型声明,更倾向使用auto
- HDU 5777 domino
- CVE-2016-10190 FFmpeg Http协议 heap buffer overflow漏洞分析及利用
- 垃圾陷阱洛谷dp
- 游戏安全有多重要?——GAME-TECH游戏开发者技术沙龙
- [ExtJS5学习笔记]第二十五节 利用window.open()函数实现ExtJS5的登陆页面跳转
- php 日期时间类型带毫秒
热门文章
- Windows(win2016、win2019、win10)在IIS下添加.NET Framework 3.5 NetFx3 失败 (状态为:0x800f0950)的解决办法
- 关于window.getSelection
- 使用kubectl访问kubernetes集群
- linux 线程查看 和 Jvm栈线程ID对应
- CentOS7安装及配置vsftpd (FTP服务器FTP账号创建以及权限设置)
- APISIX系列 | 使用 docker-apisix 安装APISIX服务
- 段地址机制以及段地址转换触发segmentation falt
- Android ANR log trace日志文件分析
- 在easyui-tabs中的href或 content的多种条件下的不同页面内容和页面地址的赋值?
- Linux内核链表——看这一篇文章就够了