.Net Core 使用Docker部署自己的应用

简介这两天使用Docker部署 .net 应用,做一些简单的记录。

??我们公司使用了ELK收集和分析项目中的日志,但是elasticsearch中长期积累,达到磁盘上限就会停止记录新日志,于是想定期删除 elasticsearch 中的旧日志。

??网上看到的方案大部分是写 bash 脚本,本人对这方面不擅长,正好现在 .net 跨平台支持的很棒,写个Console App放Linux上跑还是很方便的。

??当时在Linux上使用Docker部署ELK,即简单,又方便管理。这次的Console App还是用Docker部署,保持一致。

使用Docker部署.net core应用

  • 创建自己的应用, 如 ConsoleApp
  • 发布应用到一个目录, 如 C:@LZH\Dev\发布\published
  • 添加 Dockerfile, 在 C:@LZH\Dev\发布 目录下创建 Dockerfile 文件(无拓展名),内容如下
FROM mcr.microsoft.com/dotnet/runtime:5.0-buster-slim AS base
WORKDIR /app
COPY published ./
ENTRYPOINT ["dotnet", "ConsoleApp.dll"]
  • 在本机或者上传<发布>中的内容到服务器(需要支持Docker)
  • 编译 Dockerfile 成 image镜像。
docker build -t consoleapp .
  • 运行应用
docker run -it consoleapp
// or 后台一直运行
docker run -d consoleapp
// or 允许访问宿主网络
docker run -d --network host consoleapp
// or 使用已经存在的网络
docker run -d --network network consoleapp

本站发布的文章受知识共享协议保护,转载、收录请标明出处。

评论


昵称:   邮箱:

Top