NetCore+Docker-手动发布

目录

一.常用保留字指令

二.Net Core发布到docker

一.常用保留字指令

  1. FROM : 基础镜像
  2. MAINTAINER: 维护者姓名和邮箱
  3. RUN : Run ["可执行文件",参数1]; Run [shell命令]
  4. EXPOSE: 暴露出的端口号
  5. WORKDIR: 登录后的位置
  6. USER: 执行用户,默认是root
  7. ENV: 构建过程的环境变量
  8. ADD:  将宿主机的文件拷贝到docker,自动解压
  9. COPY:  将宿主机的文件拷贝到docker
  10. VOLUME: 数据卷,用于数据保存和持久化
  11. CMD: 启动时要运行的命令,CMD ["test.sh","run"],会被参数覆盖
  12. ENTRYPOINT: 启动时要运行的命令,不会被覆盖,如果有多个,只最后一个生效

二.Net Core发布到docker

    1.创建dockerfile,右键项目->添加->Docker 支持

    2.修改默认dockerfile

      1) 如果想把编译好的dll发布到docker,如下修改:

#基础镜像
FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base

WORKDIR /app
 
COPY . . 

#EXPOSE 5004

CMD echo "success----------ok"

ENTRYPOINT ["dotnet", "Test.dll"]

      2)如果就想把编译项目,需要把Test/去掉,改一下build前 copy的位置

FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base
WORKDIR /app
#EXPOSE 80

FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build
WORKDIR /src
COPY ["Test.csproj", "Test/"]
RUN dotnet restore "Test/Test.csproj"

WORKDIR "/src/Test"
COPY . .

RUN dotnet build "Test.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "Test.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Test.dll"]

  3.发布到本地

    1) 如果发布的是编译好的如下:

      2) 如果发布的是项目

   4.通过xftp长传到linux服务器/usr/local/app

    5.进入linux切换到目录下执行,生成镜像

docker build -t test:1.0 .

    6.如果提示mcr.microsoft.com连接超时,那就是宿主机网络有问题

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wang_peng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值