欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Centos Docker 从零开始(2)之 mssql 的数据库文件保存在主机

程序员文章站 2022-05-03 13:16:40
...

Docker mmsql新建数据库如果能够把数据库文件保存在主机上就好了,centos好像可以挂载的

Centos Docker 从零开始(2)之 mssql 的数据库文件保存在主机

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

Centos Docker 从零开始(2)之 mssql 的数据库文件保存在主机

看下数据库储存的路径:新建目录 data1 作为主机的挂载点吧:

cd /var/opt/mssql/data/

mkdir data1

Centos Docker 从零开始(2)之 mssql 的数据库文件保存在主机

退出容器内部:

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

Centos Docker 从零开始(2)之 mssql 的数据库文件保存在主机

创建成功:用MSSM连接数据库

Centos Docker 从零开始(2)之 mssql 的数据库文件保存在主机

新建数据库:
Centos Docker 从零开始(2)之 mssql 的数据库文件保存在主机

。。。没权限

我百度我百度去:

要加上 –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(可以确定那个容器就行,没必要打完整)

Centos Docker 从零开始(2)之 mssql 的数据库文件保存在主机

最终 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

Centos Docker 从零开始(2)之 mssql 的数据库文件保存在主机

用 mssm连接,创建数据库测试

Centos Docker 从零开始(2)之 mssql 的数据库文件保存在主机

Centos Docker 从零开始(2)之 mssql 的数据库文件保存在主机

最后看下主机文件:

ls ./sql/

Centos Docker 从零开始(2)之 mssql 的数据库文件保存在主机

终于可以了…