docker stack 部署 mssql

===============================================

2019/12/8_第1次修改                       ccb_warlock

===============================================

因为最近的工作项目使用的是mssql(自从知道mssql之后,我几乎不再说起另一个累赘的名字:sql server),不得不去重新学习使用mssql。

我的理解是,使用mssql仅仅只是使用数据表时,用docker运行一个开发用的容器比起在一台win server中安装一个来的高效且省资源。

当然如果还需要写存储过程及其调试,那还是用ssms来开发和调试吧(过程比起oracle、mysql虐心太多)。

因为我自学过docker、又喜欢折腾这种可以省时间的技术,所以整理了这篇笔记给路人参考。


一、前提条件


二、部署MSSQL

由于项目需要,我部署的是mssql 2017。

2.1 创建目录映射

mkdir -p /usr/docker-vol/mssql

2.2 配置mssql-stack.yml

# 编辑mssql-stack.yml

mkdir -p /opt/composevi /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: "1"
          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文件中的内容)

原文地址:https://www.cnblogs.com/straycats/p/12008754.html

时间: 2024-10-12 06:06:41

docker stack 部署 mssql的相关文章

docker stack 部署 seafile(http)

=============================================== 2018/5/13_第1次修改                       ccb_warlock =============================================== 由于初步掌握了docker swarm的运行方式,故针对内部IT提供的公共服务也将进行容器化. 最近可能会部署seafile提供给某些同事使用,之前针对centos的部署已经整理了部署手册(http://ww

docker stack 部署容器监控方案(cAdvisor、Prometheus、Grafana)

=============================================== 2018/7/8_第1次修改                       ccb_warlock =============================================== 最近正式业务终于开始上容器,虽然前期通过swarm解决了服务部署和扩展等问题,但是针对容器监控方面缺乏经验甚至是无从入手,因为没有监控数据我根本不知道目前给的资源限制是否合理,业务量激增的时候资源是否可以支撑负

docker stack 部署nginx

=============================================== 2018/7/29_第1次修改                       ccb_warlock =============================================== nginx作为市场占有率较高的http和反向代理服务,各种需要用到http和网页服务的项目经常需要用nginx做反代,故通过docker部署nginx也是最近的工作之一,故整理完部署后进行记录.  一.前提条

从零开始,使用Docker Swarm部署集群教程

本文首先从Dockerfile创建了一个简单web镜像 然后将web镜像推送到了远程仓库,以备后面集群中不同机器自动下载 之后使用docker-compose.yml配置了一个应用 而后新建了2台虚拟机作为swarm节点,并部署应用的5个实例在这两台虚拟机上 最后还讲了如何如果更改集群配置.如何扩容您的集群和如重新发布您的应用 一.创建一个简单web镜像,并推送到docker仓库 1.创建Dockerfile 创建一个空目录, 然后CD到新目录,创建名为Dockerfile的文件,将以下内容复制

使用docker安装部署Spark集群来训练CNN(含Python实例)

使用docker安装部署Spark集群来训练CNN(含Python实例) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需转载,请附上本文链接,不甚感激! http://blog.csdn.net/cyh_24/article/details/49683221 实验室有4台神服务器,每台有8个tesla-GPU,然而平时做实验都只使用了其中的一个GPU,实在暴遣天物! 于是想用spark来把这些GPU都利用起来.听闻d

在docker里部署网络服务

之前试着玩玩docker有一阵子了,今天算是头一回正式在docker里部署网络服务. 本来想和lxc差不多的东西那自然是手到擒来,没想到还是改了很多. 第一个遇到的问题是,远程连到docker宿主机干活的时候突然断网了.一下傻掉了,以前都是连内网,从来不断的.这次连了一个反向隧道,居然断了,傻眼了. 再连回去,发现docker ps里还有进程,好办,docker attach这个进程,就又进去了. 如果没有找到进程,就只要docker commit存一下,然后再docker run拉起来继续 如

在Docker下部署Nginx

在Docker下部署Nginx 在Docker下部署Nginx,包括: 部署一个最简单的Nginx,可以通过80端口访问默认的网站 设置记录访问和错误日志的路径 设置静态网站的路径 通过proxy_pass将HTTP请求反向代理到nodejs Web App 设置HTTPS 如果你还没有安装Docker环境,可参考在Docker中运行Node.js的Web应用. 最简单的命令,让Nginx跑起来 命令如下: 1 $ sudo docker run -it -p 80:80 dockerfile/

运维人员的解放----Docker快速部署

Docker是一个用了一种新颖方式实现的超轻量虚拟机,在实现的原理和应用上还是和VM有巨大差别,专业的叫法是应用容器(Application Container).(我个人还是喜欢称虚拟机) Docker应用容器相对于 VM 有以下几个优点: 启动速度快,容器通常在一秒内可以启动,而 VM 通常要更久 资源利用率高,一台普通PC 可以跑上千个容器,你跑上千个 VM 试试 性能开销小, VM 通常需要额外的 CPU 和内存来完成 OS 的功能,这一部分占据了额外的资源 因为VM 的 Hypervi

Docker容器部署tomcat出现中文乱码

docker 容器部署tomcat后,日志文件中出现中文乱码,很多问号,中文的文件夹也是问好.先看看容器的locale: [[email protected] ~]# docker exec -it 41de9a0b6045 locale LANG= LC_CTYPE="POSIX" LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="