delphi7存取配置文件与sqlserver数据库连接_将.Net Core发布至Docker,并连接Redis、上传文件到本机、连接sqlserver数据库(二)...

c19fba5c5c7f9d2ac77bb041f20be18c.png

此片文章是将 .Net Core 发布到 Docker 上,并且连接到在 Docker上的 Redis 、上传文件到本机文件夹和连接 sqlserver 数据库的续篇。

打包镜像

之后我们到发布的目标位置下,打开 PowerShell 执行如下打包代码

586f263e304535ca13fc802bce3f0c38.png

等待 Dockerfile 中的基础镜像下载完成,后就会完成我们打包的镜像了。

备注

其实我们还可以通过 vs 进行打包,我们如下图所示,在工具栏出选择 Docker,之后执行就会自动进行打包:

1523a3372b6c115bc3ea28ca5e2057d2.png

但是会有个问题,你可能会发现打包了半天都打包不完,一直显示容器预热中,然后在输出视图中看到容器工具中输出停止在如下代码,这三个内容很关键:

7cd127786e045abcd4ac76370fb0a516.png

要解决这个问题我们可以手动拼接下载路径,下载路径如下:

c85e014b025496b48dd2a82b0d6339e2.png

比如按照我的输出中的内容就需要如下的下载链接 :

17341d68785996b2571d8910324fbaed.png

下载完成后在我们在需要的路径下直接解压文件,再创建两个文本文件 success_version.txt 和 success_rid.txt 。在 success_version.txt 文件中添加我们的版本号(我这是16.8.11013.1),在 success_rid.txt 中添加我们的 Runtime ID (我这是linux-x64),之后取消执行,重启项目,然后在重新生成就行啦!

运行容器

90bf16ae5b0e27483d0a4f626cf6a689.png

我们因为需要连接 redis 所以需要一个网络使容器可以互相通信,建立网络代码如下:

7865f107dfb6b17a6a680e56783a0443.png

之后我们运行项目的容器做如下操作:

1.绑定刚刚创建的网络 test-net,可以与后面的 redis 通信;

2.挂载容器中的路径 /app 到本机的发布路径 d:\website 下,这样我们如果代码需要重新发布,在发布完成后直接重启容器就可以生效了;

3.绑定容器内的 80 端口到本机的 5000 端口,可以通过访问本地端口访问网站。

dec687fcd0a55f6ce70b3f9fe4ec0123.png

 运行Redis容器,我们直接用 Docker Hub 中的镜像:

8f8de5ea89411ecba72178582e8addef.png

如果数据库用的也是容器那和 redis 的操作差不多,不过我这里使用的是本机上的 sqlserver 数据库,具体在 appsetting.json 的配置内容如下:

01711efe4d9bbfad45af58ea9ae52cb2.png

9b3af29c91ecd749ae74761019e1200e.png

可以看到,由于 redis 是在容器中运行的,所以连接字符串为运行的容器的名称。而数据库因为连接本机,所以地址使用了 host.docker.internal 作为地址。host.docker.internal 表示主机的地址,在主机为 windows 的机器中才能用,如果 redis 想使用本机的,那连接字符串也可以用 host.docker.internal 。

运行网站

1dfb5dcae416621cf6aad1fabafc6209.png

我们访问地址 http://localhost:5000/ 可以看到访问成功了。

18d97be2a3d5bf64b9fa472053f201f4.png

之后上传文件,也可以看到我们本机挂载的文件夹下多了一个 upload 文件夹,里面多了我们上传的文件:

cb2bd4de0273b5a2a50ec9865e9b121c.png

 访问数据库可以看到成功返回了数据:

779293b3a6c96eab62b0c86772137482.png

 设置缓存也成功啦!

4385d3277aa6f90db4e9674f89c30272.png

微软MVP组建的.Net社区

你加入了吗?

微软MVP:Eleven组建

国内首屈一指的.Net活跃社区

完整配套的学习资料

最新最热的技术文章

社区内优质岗位直推

全部免费奉送给大家

优质内容持续更新中

戳以下文章立即获取

???

禁止外传!社区内部VIP干货资料自取

(课程视频+面试题+技术专刊+岗位内推)

45b925df18666ecc190f4367122e65bd.gif

bb918d7325385ddd64a8b9020ea62a82.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值