.netcore Dockerfile 部署

1.netcore3.1项目右击,添加docker支持,生成Dockerfile文件,可以设置为始终复制(生成或发布时都会含有Dockerfile文件)

2.修改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 80
#复制文件到工作目录
COPY . .
#ENV :配置系统环境变量,比如程序环境环境等在这里配置(开发、预发、线上环境)
#这里是配置程序运行端口 如果程序不使用默认的80端口这里一定要设置(程序运行端口)
ENV ASPNETCORE_URLS http://+:80
#设置时间为中国上海
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
#设置debian系统 
RUN sed -i 's#http://deb.debian.org#https://mirrors.aliyun.com#g' /etc/apt/sources.list 
RUN apt-get update && apt-get install -y vim && apt-get install -y libgdiplus

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

 
 

3.netcore3.1项目发布,跟普通项目一样右击发布到文件系统

4.将netcore发布的文件通过ftp上传至站点目录,并将Dockerfile上传至站点目录,cd切换到站点目录

6.生成netcore项目镜像

docker build -t netcore-test . 创建镜像
docker run -d -p 80:80 netcore-test 创建容器
docker run -itd --name netcore-test -p 8080:80 netcore-test 创建容器名称,端口对应关系
docker stop strange_hypatia 停止容器
docker rm 容器id
docker rmi 镜像id
docker rmi -f $(docker images -aq) 删除所有镜像

原文地址:https://www.cnblogs.com/elsons/p/15343436.html