在docker中部署基于https的aps.net core程序

    由于需要在docker中部署基于 https的web服务,于是去查找资料,幸运的是这方面的资料很多,不幸的是很多资料可能基于说明侧重点的原因,很多参数都做了硬编码,这在我们的生产环境中使用应该说是不合适的,于是在根据这些材料完成我的程序部署后,就想以记录的目录,把过程整理一下,可以为自己作记录,也可以为他人作参考,当然这是站在巨人的肩膀上的工作,还是要鸣谢各位技术达人。

  本文程序基于aps.net core3.1实现,使用微软官方的基础镜像 mcr.microsoft.com/dotnet/core/aspnet:3.1

1、修改Dockerfile

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
LABEL version="1.0" description="A MVC test web"
WORKDIR /app

COPY . .

ENV ASPNETCORE_Kestrel__Certificates__Default__Password="123456" 
ENV ASPNETCORE_Kestrel__Certificates__Default__Path=/app/server.pfx
ENV certPassword 123456
 
RUN openssl genrsa -des3 -passout pass:${certPassword} -out server.key 2048
RUN openssl rsa -passin pass:${certPassword} -in server.key -out server.key
RUN openssl req -sha256 -new -key server.key -out server.csr -subj '/CN=localhost'
RUN openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt
RUN openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt -certfile server.crt -passout pass:${certPassword}

FROM base AS final
WORKDIR /app
COPY --from=base /app .
ENTRYPOINT ["dotnet", "k8smvc.dll"]

2、生产镜像

docker build -t jaine/k8smvc:latest .

3、运行测试

docker run -it --rm -p 8443:443 --name k8smvc jaine/k8smvc:latest

打完收工

参考资料

1、如何在docker配置asp.net core https协议 https://www.cnblogs.com/billming/p/7131557.html

2、ASPNetCore Docker 搭建https服务器 https://www.cnblogs.com/zlyxm/p/11482256.html

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值