mac用docker跑sql server

网上的各个文章跑下来都有一些问题,记录一下我成功跑起来的过程。

省略Docker安装

修改docker源:

复制代码
{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://hub-mirror.c.163.com"
  ]
}

拉取:

复制代码
docker pull mcr.microsoft.com/mssql/server:2017-latest

运行

复制代码
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=I_werw3456' -p 1433:1433 -v /Users/david/Davids_Self_Doc/sql_db:/var/opt/mssql --name sqlserver2017 -d mcr.microsoft.com/mssql/server:2017-latest

其中,有几个坑点:不处理这些坑点,会导致你的 sqlserver 容器不能正常运行。1."ACCEPT_EULA=Y" 和 "SA_PASSWORD=I_werw3456" : windows docker,这里必须是双引号。

2."SA_PASSWORD=Fyy@12345678" 密码复杂度,要有大小写、特殊符号 和 数字

3.(不是必须的) --memory 2000M:sqlserver 的容器运行时,内存要>=2000MB,因此,要指定 容器运行时内存。否则容器已启动就推出,且不会有任何异常信息。

当容器不能启动,或者启动就退出时,可以 用命令 docker logs <container> 查看日志,根据日志信息解决问题(<container> 为需要操作的 容器ID或者 name,后面不再说明)。

查看运行的容器:

复制代码
docker container ls

查看所有的容器:

复制代码
docker ps -a

删除容器:

复制代码
docker rm id或名称

还原数据库

先把.bak文件放在之前主机的持久化目录(/Users/david/Davids_Self_Doc/sql_db)

然后:

复制代码
docker exec -it sqlserver2017 /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P 'I_werw3456' -Q "RESTORE DATABASE train FROM DISK = '/var/opt/mssql/train_backup_2025_03_07_000003_7150375.bak' WITH MOVE 'tran_test' TO '/var/opt/mssql/data/train.mdf', MOVE 'tran_test_log' TO '/var/opt/mssql/data/train_log.ldf'"
相关推荐
曲幽2 小时前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
武子康2 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
元Y亨H2 天前
MacBook Air 开发神器:IDEA 与 PyCharm 极简安装及环境配置
macos
yuanyxh3 天前
macOS 应用 - 纯对话生成
前端·macos·ai编程
AI创界者5 天前
PilotTTS 一键整合包(Win/Mac):8G 显存畅跑,实测解锁情绪与副语言的精准控制
人工智能·macos·aigc·音视频
Alsn865 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
2601_961875245 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant
java_cj5 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes
程序员老赵5 天前
服务器没有桌面?Docker 跑个 Chrome,浏览器就能远程用
docker·容器·devops
杨浦老苏5 天前
轻量级Docker仪表板Servedash
运维·docker·监控·群晖·仪表板