zoukankan      html  css  js  c++  java
  • centos 7使用docker部署到.net core2.2生产环境

    以下是Dockerfile, 这个比较重要, 直接关系到能不能正确生成image:

    #多阶段构建的第一阶段, 直到一下个From段, 都是在此镜像的基础上进行的操作, AS build表示给这个阶段起个名为build, 这个名在后面的阶段可以使用,
    FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
    WORKDIR /app
    
    COPY . /app
    
    WORKDIR /app/<ProjectName>

    #以下这一行安装是为了解决我项目里的一个问题: System.DllNotFoundException: Unable to load shared library 'libdl' or one of its dependencies, https://github.com/dotnet/dotnet-docker/issues/618, 对别的项目也许可以忽略 RUN apt-get update && apt-get install -y --allow-unauthenticated libc6-dev libgdiplus libx11-dev && rm -rf /var/lib/apt/lists/* RUN dotnet restore #发布到当前目录的out文件夹下 RUN dotnet publish -c Release -o out FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS runtime WORKDIR /app #--from=build就是上一个构建阶段. 这行表示把上个阶段的out文件夹下内容都copy到当前目录下 COPY --from=build /app/<ProjectName>/out ./ ENTRYPOINT ["dotnet", "<DllName>.dll"] #docker build -t <ImageName> . #docker run -d -p 62301:62301 -v "$(pwd)"/logs:/app/logs <ImageName> --urls="http://*:62301"

    Dockerfile copy到centos上项目所在地, 然后跑:

    docker build -t <ImageName> .

    别忘了结尾的点号 "."

    然后运行Image, 我是使用的62301端口跑站点, 日志文件夹使用一个Bind mounts放在项目所在目录下了:

    docker run -d -p 62301:62301 -v "$(pwd)"/logs:/app/logs <ImageName> --urls="http://*:62301"

    注意这样跑起来的站点是只支持http的, 因为没有证书.

    然而我本地起的localhost的站点是只能https访问, http也会强制重定向到https, 使用的开发证书.

  • 相关阅读:
    Python入门day41——进程线程高阶
    使用React全家桶搭建一个后台管理系统
    基于 React 开发了一个 Markdown 文档站点生成工具
    The Annual Summary Of 2019
    INHERITED AND NON-INHERITED IN CSS
    组件设计 —— 重新认识受控与非受控组件
    React 现代化测试
    如何使页面交互更流畅
    React Hooks 深入系列
    你不知道的 requestIdleCallback
  • 原文地址:https://www.cnblogs.com/lihan829/p/11146603.html
Copyright © 2011-2022 走看看