docker for windows 使用mssql2017
原文:docker for windows 使用mssql2017
确实有些坑,本来之前坑都踩过了,但是时间一久就忘记了,这次换电脑又都踩了一遍。
几个要点(坑):
1.docker安装时默认就好。然后C盘必须设置共享,否则后面做文件夹挂载时总是报错。
2.预设SA密码时,别再搞SASASA这种了,必须使用强密码,例如 Abc!@#123456。
3.宿主机使用MSSM链接数据库时,目前我没有改端口使用1433:1433,则要写 "localhost,1433",而不是冒号。
4.做数据库存储目录共享时,注意宿主机(WIN)目录从盘符开始,:使用/代替,例如: /d/data=d:\data
创建mssql2017容器命令
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Abc!@#123456' -p 1433:1433 -v /d/sql.data/docker:/var/opt/mssql/data --name mssql2017 -d microsoft/mssql-server-linux:2017-latest
宿主机可以指安装 MSSM就好了,完整的数据库似乎就不需要了。
如果使用的是windows container
则需要拉取 mssql-server-windows-express 使用developer也可以
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Sa111111' -p 1433:1433 -v c:\sqldb:c:\'program files'\'microsoft sql server'\mssql14.sqlexpress\mssql\data1 --name mssql -d microsoft/mssql-server-windows-express
注意:路径的写法与linux容器的方式不同,空格使用引号括起来,以及,不能映射原始数据库的文件夹data,否则会一直提示失败,原因没具体查,随便建个文件夹就好了,比如data。
如果出现the process cannot access the file because it is being used by another process
考虑是主机端口1433被占用,换成14330即可。
docker run WEB时,如果用--network就不需要写-p了,因为主机暴露的端口和容器的就一样了。
docker run ` -d `
--link mssql01 ` 官方不建议使用link
--name siteserver01 `
-v C:/Users/Administrator/Desktop/Web/SiteServer01:C:/inetpub/wwwroot `
-p 80:80 `
--restart=always `
microsoft/aspnet
最新文章
- iOS设备 屏幕尺寸、操作系统、摄像头像素、发行时间 汇总
- Vue中class与style绑定
- axure7.0 汉化包下载
- spring定时器 @Scheduled
- GridView获取单个单元格的值
- Lua的元方法__newindex元方法
- Java之split方法
- 12_Python的(匿名函数)Lambda表达式_Python编程之路
- shell脚本格式的几点注意:格式严格,空格不能随便出现(一写就记不住)
- 各种输出速度比较(小白应该来看看,dalao绕道)
- AIO系列文档(1)----图解ByteBuffer
- ELK+Filebeat+Kafka+ZooKeeper 构建海量日志分析平台(elk5.2+filebeat2.11)
- java开发,年薪15W的你和年薪50W的他的差距
- iRedMail退信问题的解决(转)
- C语言实现哈夫曼编码(最小堆,二叉树)
- ECharts柱状图添加点击事件
- [LeetCode&;Python] Problem 107. Binary Tree Level Order Traversal II
- 模板 树上求LCA 倍增和树链剖分
- 简短介绍 C# 6 的新特性
- 常见pip方法