本次部署,基於docker進行,拉取的mcr.microsoft.com/dotnet/core/aspnet:3.1鏡像。 這裏,我沒有使用Dockerfile文件來建立鏡像。docker
Interop+OpenSsl+SslException: SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL數據庫
數據庫鏈接成功,可是發生錯誤,具體以下圖:api
發生這種錯誤,主要是因爲,在數據庫登陸驗證階段使用了 SSL,致使身份驗證不經過。容許的 ssl 最低版本和 SQL Server 數據庫版不匹配。在這裏,我採起基於上面拉取的鏡像,啓動容器進入容器內部,修改配置信息,具體代碼以下:spa
sed -i 's/TLSv1.2/TLSv1.0/g' /etc/ssl/openssl.cnf
基於dockerfile的朋友,能夠在Dockerfile配置文件中,增長以下代碼,建立容器時來執行一個命令操做。code
RUN sed -i 's/TLSv1.2/TLSv1.0/g' /etc/ssl/openssl.cnf
我把修改後的容器,重新制做了一個鏡像,暫且命名爲aspnetcoressl吧。docker images查看咱們剛纔建立的鏡像。blog
[root@iZm5ec2cjkf2wt7aqpfw72Z ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE aspnetcoressl 3.1 d619e179fc96 2 hours ago 207MB
aspnetcoressl是咱們修改過配置文件後建立的鏡像,也就意味着咱們可要直接使用該鏡像,來運行容器。ssl
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)。openssl
docker pull lichaoqiang/netcore:3.1