docker安装sqlserver2017过程实践

 更新时间:2026年04月20日 14:54:16   作者:ryq.  
文章介绍了在满足2GB内存要求的情况下,通过Docker安装SQL Server 2017的过程,包括拉取镜像、创建容器、进入容器、连接数据库等步骤,并提供了相关参数说明

快速通过Docker安装SQL Server

前置条件:服务器内存需要于2GB。

安装的版本:SQL Server2017

1、拉取镜像

2、查看镜像是否拉取成功

docker images

3、创建容器

这里需要注意的是微软官方说明docker安装sqlserver,容器需要至少2G内存,但是官方文档没有指定容器内存,因此我这里指定了容器内存为2G,否则会踩坑

docker run  -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Ryq@123456"  -p 1433:1433 -m 2000M --memory 2000M --name sqlserver -d mcr.microsoft.com/mssql/server:2017-latest
# linux container (不用指定ip和内存)

参数说明:

  • --network [自定义网络模式] --ip [指定的固定IP地址]:设置容器固定IP。
  • -e "ACCEPT_EULA=Y" :设置数据库许可协议,可以是任何值,是sqlserver容器必须参数
  • -e "SA_PASSWORD=[密码]":数据库登录密码
  • -v D:/workspace/docker/sqlserver:/var/opt/mssql:将宿主的目录映射到容器目录
  • -p [宿主机端口]:[容器端口] : 将宿主机端口(第一个参数)映射到容器端口(第二个参数)上,宿主机端口可以是任意端口
  • -m 2000M --memory 2000M:设置容器内存大小,单位可以是B,K,M,G,最小为4M(sqlserver最小需要2000M)
  • --name [容器名称/id]:设置容器名称
  • -d [镜像名称/id]:对应的镜像

4、进入容器

docker exec -it sqlserver bash

5、连接数据库

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "密码"

 

6、查询数据库

select name from sys.Databases
go

7、创建数据库

create database   sqlserver;

修改密码

sudo docker exec -it sqlserver /opt/mssql-tools/bin/sqlcmd \
   -S localhost -U SA -P "Ryq@123456" \
   -Q 'ALTER LOGIN SA WITH PASSWORD="ryq@123456"'

远程连接

 

 

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Docker安装beef-xss的步骤

    Docker安装beef-xss的步骤

    这篇文章主要介绍了Docker安装beef-xss的步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-04-04
  • Docker Login 登录凭证安全存储方式

    Docker Login 登录凭证安全存储方式

    本文主要探讨Docker镜像仓库登录凭证的存储问题,Docker利用docker login命令校验用户镜像仓库的登录凭证,正确的用户名密码会以base64编码格式保存在Docker配置文件中,这种方式极易泄露且不安全
    2024-09-09
  • 在CentOS系统中轻松安装和配置Docker全过程

    在CentOS系统中轻松安装和配置Docker全过程

    这篇文章主要介绍了在CentOS系统中轻松安装和配置Docker全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • docker如何删除悬空镜像

    docker如何删除悬空镜像

    文章介绍了如何使用Docker命令删除悬空镜像,以提高服务器空间利用率,通过使用docker image命令结合filter和awk工具,可以过滤出没有Tag的镜像,并将其删除,总结了两种方法,一种是通过管道和awk命令,另一种是使用更简单的docker rmi命令
    2025-02-02
  • docker通过Dockerfile修改镜像中tomcat的端口

    docker通过Dockerfile修改镜像中tomcat的端口

    8080端口会经常出现被占用的情况,本文主要介绍了docker通过Dockerfile修改镜像中tomcat的端口,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • Flask应用封装成Docker服务的完整操作指南

    Flask应用封装成Docker服务的完整操作指南

    本文详细介绍了如何使用Docker将Flask应用容器化,包括实现原理、详细操作步骤、进阶配置、常见问题及解决方案和生产环境注意事项,需要的朋友可以参考下
    2025-04-04
  • 利用docker搭建php7和nginx运行环境全过程(官方镜像)

    利用docker搭建php7和nginx运行环境全过程(官方镜像)

    docker提供了在服务端分布式的部署应用,这样的好处是方便维护和升级。下面这篇文章主要给大家介绍了利用docker搭建php7和nginx运行环境的相关资料,搭建过程中运用的是官方镜像,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-05-05
  • docker之load镜像重命名实现方式

    docker之load镜像重命名实现方式

    文章主要说明在Docker镜像传输中,使用save/load时若未指定名称和标签,会导致镜像REPOSITORY显示为<none>,解决方法为:load后通过docker tag重命名,或打包时使用镜像名:标签格式,确保传输后镜像信息完整
    2025-09-09
  • docker打包golang应用的过程分析

    docker打包golang应用的过程分析

    这篇文章主要介绍了docker打包golang应用的过程分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • 在WSL中安装Docker的两种方法步骤

    在WSL中安装Docker的两种方法步骤

    Docker是一种开源的容器化平台,用于构建、交付和运行应用程序,它提供了一种轻量级的容器化技术,可以将应用程序及其依赖项打包成一个独立的可执行单元,这篇文章主要介绍了在WSL中安装Docker的两种方法步骤,需要的朋友可以参考下
    2025-12-12

最新评论