zoukankan      html  css  js  c++  java
  • 在Docker中部署ASP.NET Core 2.2

    ⒈新建一个ASP.NET Core2.2 Web程序

    因为Windows的Docker和Linux的Docker有所不同,本次测试采用的是Linux的Docker,因此没有勾选启用Docker支持。

    尝试运行下项目

    ⒉创建Dockerfile文件

    在项目的根目录下,添加一个Dockerfile文件,注意文件名。

     1 #添加基础镜像
     2 FROM microsoft/dotnet:2.2-aspnetcore-runtime
     3 #容器中系统的工作空间
     4 WORKDIR /app
     5 #拷贝当前文件夹下的文件到容器中系统的工作空间
     6 COPY . /app
     7 #设置Docker容器对外暴露的端口
     8 EXPOSE 80
     9 EXPOSE 443
    10 #容器中使用 ["dotnet","系统启动的dll"] 来运行应用程序
    11 #使用ENTRYPOINT ["dotnet","系统启动的dll"]
    12 #或使用 CMD ["dotnet","系统启动的dll"]
    13 ENTRYPOINT ["dotnet", "DockerDemo.dll"]

    这里我们需要用到官方的镜像:microsoft/dotnet:2.1-aspnetcore-runtime

    如果要尝试更小的镜像,可以试试 microsoft/dotnet:2.1-aspnetcore-runtime-alpine ,这镜像使用了alpine 一款精简版极小的linux,但是随之而来的就是阉割了一些功能,实际使用的时候需要测试,比如国际化支持,它默认在这个镜像里面没有开启,需要配置环境变量来开启。

    修改Dockerfile属性

    ⒊发布应用程序

    ⒋创建Docker镜像

    1 docker build -t dockerdemo:1.0.0 . 

    ⒌运行Docker镜像

    1 docker run --name=dockerdemo -d -p 8000:80 -v /home/fanqi/aspnetcore:/app dockerdemo:1.0.0 

    *我们可以编写 发布+构建 的脚本。

    Windows:

    文件名:build.bat

     1 @echo off
     2 
     3 echo "Windows Docker build"
     4 
     5 cd ../DockerDemo
     6 
     7 dotnet publish -c Release -o ../publish
     8 
     9 cd ../publish
    10 
    11 echo "publish success"
    12 
    13 docker build -t dockerdemo:1.0.0 .

    Linux:

    文件名:build.sh

     1 #!/bin/bash
     2 
     3 echo Linux Docker build
     4 
     5 cd ../DockerDemo
     6 
     7 dotnet publish -c Release -o ../publish
     8 
     9 cd ../publish
    10 
    11 echo publish success
    12 
    13 docker build -t dockerdemo:1.0.0 .

    若在linux下执行sh脚本时,遇到错误“-bash: ./build.sh: /bin/bash^M: bad interpreter: No such file or directory“,

    请通过vim/vi编辑sh脚本,按:键,输入 set ff=unix,然后回车、wq保存即可

  • 相关阅读:
    JavaScript与C# Windows应用程序交互
    用DateTime.ToString(string format)输出不同格式的日期
    时间间隔与暂停
    C#中比较两个时间的时间差
    lambda函数的用法
    Tornado笔记
    DjangoWeb应用开发实战笔记
    再看装饰器
    描述符
    flask简单代码回顾
  • 原文地址:https://www.cnblogs.com/fanqisoft/p/10883097.html
Copyright © 2011-2022 走看看