【.Net Core】把dotnet core 项目部署到docker

Docker

Dockerfile

# 引入镜像,低版本 docker 去掉  AS base
#换成别人做的阿里镜像
#FROM registry.cn-hangzhou.aliyuncs.com/newbe36524
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base

#配置工作目录 相当于cd
WORKDIR /app
  
#暴露容器端口,此端口与程序运行路径一致,可
EXPOSE 5000

#复制文件到工作目录
COPY . .
 
#ENV :配置系统环境变量,比如程序环境环境等在这里配置(开发、预发、线上环境)
#这里是配置程序运行端口,如果程序不使用默认的80端口这里一定要设置(程序运行端口)
ENV ASPNETCORE_URLS http://+:5000

#设置时间为中国上海,默认为UTC时间
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

#启动程序
ENTRYPOINT ["dotnet", "MyAppName.dll"]

已使用的:

# 使用运行时镜像
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
# 链接低版本的SqlServer数据库需要 TSLv1.1版本
RUN sed -i 's/TLSv1.2/TLSv1.0/g' /etc/ssl/openssl.cnf  
RUN sed -i 's/TLSv1.2/TLSv1.0/g' /usr/lib/ssl/openssl.cnf
# 设置工作目录
WORKDIR /app
# 把目录下的内容都复制到当前目录下
COPY . .
# 暴露80端口
EXPOSE 80
# 运行镜像入口命令和可执行文件名称
ENTRYPOINT ["dotnet", "lycore01.dll"]
# AS base 不能改动
FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
# 链接低版本的SqlServer数据库需要 TSLv1.1版本
RUN sed -i 's/MinProtocol = TLSv1.2/MinProtocol = TLSv1/g' /etc/ssl/openssl.cnf
RUN sed -i 's/MinProtocol = TLSv1.2/MinProtocol = TLSv1/g' /usr/lib/ssl/openssl.cnf
# 设置工作目录
WORKDIR /app
# 把目录下的内容都复制到当前目录下
COPY . .
# 暴露80端口
EXPOSE 80
# 运行镜像入口命令和可执行文件名称
ENTRYPOINT ["dotnet", "SDTWebAppApiCore.dll"]

部署到Centos8

FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS net5
# 链接低版本的SqlServer数据库需要 TSLv1.1版本
RUN sed -i 's/TLSv1.2/TLSv1/g' /etc/ssl/openssl.cnf  
RUN sed -i 's/TLSv1.2/TLSv1/g' /usr/lib/ssl/openssl.cnf
# 设置工作目录
WORKDIR /app
# 把目录下的内容都复制到当前目录下
COPY . .
# 暴露80端口
EXPOSE 80
# 运行镜像入口命令和可执行文件名称
ENTRYPOINT ["dotnet", "SDTWebAppApiCore.dll"]

发布

cd 到 publish文件夹, 执行dockerfile:
$docker build -t core01:v1 .

运行容器:

$docker run -v /D/WebSite/dotNetCore/publish01:/app --name=ctnCore01 -p 8130:80 -d core01:v1

容器内运行命令

apt-get update
apt-get install vim

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值