Docker部署.NetCore8项目

发布于:2025-04-12 ⋅ 阅读:(36) ⋅ 点赞:(0)

在VS.net新建.netCore8项目,生成项目的发布文件,之后添加Dockerfile,内容如下:

FROM mcr.microsoft.com/dotnet/aspnet:8.0
# 设置工作目录
WORKDIR /app

# 挂载临时卷(类似于 VOLUME /tmp)
VOLUME /tmp

# 复制应用所需的文件到容器
ADD Web.Core.dll /app/Web.Core.dll
ADD appsettings.Development.json /app/appsettings.Development.json
ADD Web.Core.runtimeconfig.json /app/Web.Core.runtimeconfig.json
ADD Web.Core.deps.json /app/Web.Core.deps.json
ADD Web.Core.pdb /app/Web.Core.pdb
ADD Web.Core.staticwebassets.runtime.json /app/Web.Core.staticwebassets.runtime.json
 
ADD ./wwwroot/ /app/wwwroot/

# 确保文件存在
RUN touch /app/Web.Core.dll

# 暴露端口
EXPOSE 8080

# 启动命令(设置环境变量以指定配置文件)
ENTRYPOINT ["dotnet", "Web.Core.dll"]

#特别要注意:编辑右下角的CRLF  切换成LF,否则执行sh时报找不到文件的错误

netcore.sh内容:
 

#!/bin/bash
 
# 停止并移除当前运行的容器
docker stop netcorerong
docker rm netcorerong

# 移除旧的镜像
docker rmi netcoreimg

# 创建目录权限
mkdir -p /mydata/upload/netcore
chmod 777 /mydata/upload/netcore

# 进入项目目录
cd /mydata/docker/netcore

# 构建新的镜像
docker build -t netcoreimg .

# 启动新的容器
docker run -d -p 8080:8080 \
  -e TZ=Asia/Shanghai \
  --name netcorerong \
  --restart always \
  -v /mydata/upload/netcore:/app/upload/netcore \
  netcoreimg

# 查看容器的日志
docker logs netcorerong -f


网站公告

今日签到

点亮在社区的每一天
去签到