.Net8项目使用docker、docker-compose部署的图文步骤
作者:小步快跑-
本文主要介绍了.Net8项目使用docker、docker-compose部署的图文步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
一、新建ASP.NET Core Web应用,默认勾选启用容器支持
二、修改自动生成的Dockerfile文件
# 使用 .NET 8.0 运行时镜像作为基础镜像 FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime WORKDIR /app # 设置时区(可选) ENV TZ=Asia/Shanghai RUN ln -fs /usr/share/zoneinfo/$TZ /etc/localtime && dpkg-reconfigure -f noninteractive tzdata # 从当前文件夹复制文件到容器 COPY . . # 设置可执行文件的权限 RUN chmod +x WebApplication1 ENTRYPOINT ["./WebApplication1"]
三、发布项目
1、项目右键–>发布
2、发布设置–>目标运行时选:linux-64,文件发布选项:生成单个文件
3、使用docker构建镜像、docker-compose启动容器
1.cmd(命令提示符) 切换目录到 项目发布文件夹
2.使用docker构建镜像
3.使用docker-compose启动容器
4.导出镜像,导入镜像
4、项目发布目录,新建docker-compose文件
删除:appsettings.Development.json、*.pdb等多余文件
volumes:可挂载文件、文件夹(物理地址文件与docker容器地址对应)
services: WebApplication1: image: server/WebApplication1:1.0.0.0 container_name: WebApplication1 volumes: # #window path - /C/Users/Desktop/test/WebApplication1/WebApplication1/bin/Release/net8.0/publish/appsettings.json:/WebApplication1/appsettings.json - /C/Users/Desktop/test/WebApplication1/WebApplication1/bin/Release/net8.0/publish/logs:/WebApplication1/logs restart: always build: context: . dockerfile: Dockerfile ports: - "8088:8088"
5、Docker Desktop安装
下载地址:https://www.docker.com/blog/docker-desktop-4-38/
6、cmd执行
# 构建镜像时指定标签(server/WebApplication1:1.0.0.0要与上方docker-compose文件中image一致) docker build -t server/WebApplication1:1.0.0.0 . # 后台启动容器 docker-compose up --detach # 将镜像导出为.tar文件 docker save -o WebApplication1.tar WebApplication1 # 将文件压缩成.7z文件(如果挂载了appsettings.json文件,压缩时需要将.tar、appsettings.json、docker-compose三个一起压缩为WebApplication1.tar.7z) #将.7z文件上传至服务器,切换到文件目录,解压缩 7z x WebApplication1.tar.7z #在服务器上导入Docker镜像 docker load -i WebApplication1.tar # 后台启动容器 docker-compose up --detach # 查看容器 docker ps # 查看容器日志 docker log WebApplication1 # 停止容器 docker stop WebApplication1 #删除容器 docker rm WebApplication1 # 查看镜像 docker images #删除镜像 docker rmi WebApplication1
7、window docker容器运行查看
到此这篇关于.Net8项目使用docker、docker-compose部署的图文步骤的文章就介绍到这了,更多相关.Net8使用docker、docker-compose部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!