• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
夕颜
博客园    首页    新随笔    联系   管理    订阅  订阅
Linux 部署API

参考地址:在 Docker 容器中运行 ASP.NET Core 应用 | Microsoft Learn

1、 Dockerfile文件

配置(已生成发布文件的配置,和发布文件同级目录)

#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base

WORKDIR /api/escser
COPY [".", "."]

ENTRYPOINT ["dotnet", "EscortControl.Lan.Api.dll"]

2、 Linux部署

方案一:


docker相关命令:

  • dotnet build (上传源码需要打包)
  • docker build -t 镜像名字 ./ (构建镜像)
  • docker run  -d  -p 5000:80 --name 容器名称 镜像名字
  • docker -v 查看版本
  • docker info 查看宿主机上的容器的状态
  • docker search centos 搜索镜像 eg: docker search nginx
  • docker pull [镜像名称] 拉取镜像 eg: docker pull nginx:latest 拉取nginx 最新镜像
  • docker images 查看本地镜像
  • docker ps 查看运行的容器
  • docker run 创建并且运行容器
  • docker start/restart [容器id] 启动容器
  • docker stop [容器id]
  • docker rm [容器id] 删除容器
  • docker logs [容器id] 查看容器日志(报错等)
  • docker inspect [容器id] 获取容器元数据
  • docker exec -it [容器id]  bash 进入容器, exit 退出
  • docker top [容器id] 查看容器中运行的进程信息
  • docker cp <宿主机文件路径> <容器名或ID>:<容器内目标路径>    从宿主机复制文件到容器
  • docker cp <容器名或ID>:<容器内文件路径> <宿主机目标路径>    从容器复制文件到宿主机
  • docker exec -it 容器名或ID ls 容器目录

方案二:脚本指令

# 1. 使用新标签构建镜像(保留旧版本)
docker build -t escortapi:$(date +%Y%m%d) /root/Publish/EscortControl.Service.Api/

# 2. 流量切换后清理旧容器
docker stop escortapi && docker rm escortapi

# 3. 先启动新容器再清理旧资源
docker run -d \
--name escortapi \
-p 60201:9302 \
-v /usr/share/fonts:/usr/share/fonts \
-v /root/Publish/EscortControl.Service.Api/Upload:/api/escortapi/Upload \
--restart always \
escortapi:$(date +%Y%m%d)

# 4. 按需清理旧镜像(保留最近2个版本)
docker images | grep 'escortapi' | awk '{print $3}' | uniq | tail -n +3 | xargs docker rmi 2>/dev/null

 

posted on 2024-06-18 17:57  夕颜~~  阅读(80)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3