本次部署,基于docker進行,拉取的mcr.microsoft.com/dotnet/core/aspnet:3.1鏡像, 這里,我沒有使用Dockerfile檔案來創建鏡像,
Interop+OpenSsl+SslException: SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL
資料庫連接成功,但是發生錯誤,具體如下圖:

發生這種錯誤,主要是由于,在資料庫登錄驗證階段使用了 SSL,導致身份驗證不通過,允許的 ssl 最低版本和 SQL Server 資料庫版不匹配,在這里,我采取基于上面拉取的鏡像,啟動容器進入容器內部,修改配置資訊,具體代碼如下:
sed -i 's/TLSv1.2/TLSv1.0/g' /etc/ssl/openssl.cnf
基于dockerfile的朋友,可以在Dockerfile組態檔中,增加如下代碼,創建容器時來執行一個命令操作,
RUN sed -i 's/TLSv1.2/TLSv1.0/g' /etc/ssl/openssl.cnf
我把修改后的容器,從新制作了一個鏡像,暫且命名為aspnetcoressl吧,docker images查看我們剛才創建的鏡像,
[root@iZm5ec2cjkf2wt7aqpfw72Z ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE aspnetcoressl 3.1 d619e179fc96 2 hours ago 207MB
aspnetcoressl是我們修改過組態檔后創建的鏡像,也就意味著我們可要直接使用該鏡像,來運行容器,
docker run --name tiku.api -v /data:/data -p 80:5000 -d d619e179fc96 dotnet /data/wwwroot/TiKu.Api/TiKu.Api.dll
最后,我把修改過的鏡像,推送到docker.io我個人建的倉庫里,如下圖:

執行下面代碼,拉取修改后的鏡像(aspnetcore3.1),
docker pull lichaoqiang/netcore:3.1
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/17102.html
標籤:.NET Core
