Centos Docker 从零开始(2)之 mssql 的数据库文件保存在主机
Docker mmsql新建数据库如果能够把数据库文件保存在主机上就好了,centos好像可以挂载的
docker 的 run 命令:
-v ~/nginx/www:/www :将主机中项目的目录www挂载到容器的/www
准备命令一下:
docker run -e ‘ACCEPT_EULA=Y’ -e ‘aaa@qq.com#123’
-v /home/jieguone/data/sql/:/var/opt/mssql/data/data1/ -p 1401:1433 –name sql1 -d microsoft/mssql-server-linux
进入mmsql容器内看下:
docker exec -t -i sql1 /bin/bash
看下数据库储存的路径:新建目录 data1 作为主机的挂载点吧:
cd /var/opt/mssql/data/
mkdir data1
退出容器内部:
exit
centos 创建主机存放数据的目录:/home/jieguone/data/sql (自定义)
docker run -e ‘ACCEPT_EULA=Y’ -e ‘aaa@qq.com#123’
-v /home/jieguone/data/sql/:/var/opt/mssql/data/data1/ -p 1433:1433 –name sql2 -d microsoft/mssql-server-linux
加上开启自启动容器:
–restart参数
no - container不重启
on-failure - container推出状态非0时重启
always - 始终重启
docker run -e ‘ACCEPT_EULA=Y’ -e ‘aaa@qq.com#123’
-v /home/jieguone/data/sql/:/var/opt/mssql/data/data1/ -p 1433:1433 –name sql2
–restart always -d microsoft/mssql-server-linux
再创建一个容器试试 name sql2
docker run -e 'ACCEPT_EULA=Y' -e 'aaa@qq.com#123' -v /home/jieguone/data/sql/:/var/opt/mssql/data/data1/ -p 1433:1433 --name sql2 --restart always -d microsoft/mssql-server-linux
创建成功:用MSSM连接数据库
新建数据库:
。。。没权限
我百度我百度去:
要加上 –privileged=true
docker run -e ‘ACCEPT_EULA=Y’ -e ‘aaa@qq.com#123’ –privileged=true -v /home/jieguone/data/sql/:/var/opt/mssql/data/data1/ -p 1430:1433 –name sql4 –restart always -d microsoft/mssql-server-linux
记得 把其他的容器先删除了:
docker rm -f 容器id(可以确定那个容器就行,没必要打完整)
最终 docker run 命令行:
docker run -e 'ACCEPT_EULA=Y' -e 'aaa@qq.com#123' --privileged=true -v /home/jieguone/data/sql/:/var/opt/mssql/data/data1/ -p 1433:1433 --name mssql --restart always -d microsoft/mssql-server-linux
用 mssm连接,创建数据库测试
最后看下主机文件:
ls ./sql/
终于可以了…
上一篇: Winform加入MS SQL连线字串
下一篇: LinkedIn架构进化简史