全栈工程师-咨询电话:15675178605 (微信同号)

创建与运行MS SQL Server 2019 容器_Docker容器化部署

一、将所有数据库文件上传到宿主机

1、下载所有数据库文件,进入:https://gitee.com/octshop/cross/tree/master/OctMallAllDb ,用git拉取所有数据库文件到本地。

2、cd 进入宿主机的根目录,创建存放数据库文件的文件夹

运行命令:【 mkdir OctMallAllDb 】创建文件夹
运行命令:【 chmod -R 777 OctMallAllDb 】给创建的文件夹赋读写权限

二、创建并运行 数据库docker容器,并挂载数据库文件目录

1、创建并运行数据库docker容器

运行命令:【 docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=OpenCodeTiger168_ItHuang" -e "TZ=Asia/Shanghai" -d -p 1433:1433 --name mssql2019_octshop_con -v /OctMallAllDb:/OctMallAllDb --network octshopnet registry.cn-hangzhou.aliyuncs.com/octshop/mssql2019_octshop:v3 

特别注意:其中【 SA_PASSWORD=OpenCodeTiger168_ItHuang 】设置的是sa账号的密码,请记住,在站点配置文件中多处要用到的。

运行命令:【 docker update --restart=always mssql2019_octshop_con 】 开机自动启动

2、将下载的所有数据库文件夹及文件复制到宿主机 OctMallAllDb 文件夹中。如下图:



复制好后,形成的数据库文件路径,如:/OctMallAllDb/OctUserGoodsShopSystemDB/OctUserGoodsShopSystemDB.mdf
其他的也类似。数据库的存放位置必须是这样的,否则,无法找到数据库文件路径。

3、进入 mssql2019_octshop_con 数据库容器中,更改数据库文件的权限为【可读写】。

运行命令:【 docker exec -it -u root mssql2019_octshop_con /bin/bash 】用root权限命令到容器中
运行命令:【 chmod -R 777 OctMallAllDb 】 修改文件夹OctMallAllDb的可读写权限包括子目录
运行命令:【 exit 】 退出容器。

4、Microsoft SQL Server Management Studio 连接到数据库,附加各项目系统的数据到 MS SQL Server 数据库中。

连接的【服务器名称】是你宿主机的IP地址,比如:121.40.30.197  端口是默认的:1433
【登录名】请用 sa 账号登录,即 sa 
【密码】是运行MS SQL Server2019 容器时设置的,比如:OpenCodeTiger168_ItHuang 

请注意:如果是云主机,防火墙放开端口:1433 , 还有 80  端口。



各项目系统的数据库文件存放在 /OctMallAllDb/ 中,找到对应的文件夹中的数据库文件,将所有数据库附加进入即可。 如下图:





5、mssql2019_octshop_con 数据库容器加入到桥接网络 octshopnet

运行命令:【 docker network connect octshopnet mssql2019_octshop_con

6、根据桥接网络信息,MS SQL Server 2019 的连接字符串中, 数据库连接【IP地址以及端口】可以配置为如下:

【mssql2019_octshop_con,1433】

比如: "OctUserGoodsShopSystemDB_ConnectionStrings":
"server=mssql2019_octshop_con,1433;uid=sa;pwd=OpenCodeTiger168_ItHuang;database=OctUserGoodsShopSystemDB;Trusted_Connection=true;MultipleActiveResultSets=false;Integrated Security=false;Max Pool Size=5000;Min Pool Size=1;Connect Timeout=30;Connection Lifetime=30;",



上一步:创建运行Nginx容器和修改配置_Docker容器化部署

下一步:所有系统容器站点参数配置_Docker容器化部署