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

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

尝试运行下项目

⒉创建Dockerfile文件

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

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

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

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

修改Dockerfile属性

⒊发布应用程序

⒋创建Docker镜像

 docker build -t dockerdemo:1.0.0 . 

⒌运行Docker镜像

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

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

Windows:

文件名:build.bat

 @echo off

 echo "Windows Docker build"

 cd ../DockerDemo

 dotnet publish -c Release -o ../publish

 cd ../publish

 echo "publish success"

 docker build -t dockerdemo:1.0.0 .

Linux:

文件名:build.sh

 #!/bin/bash

 echo Linux Docker build

 cd ../DockerDemo

 dotnet publish -c Release -o ../publish

 cd ../publish

 echo publish success

 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保存即可

在Docker中部署ASP.NET Core 2.2的更多相关文章

  1. 在 Docker 中部署 ASP.NET CORE 应用

    有了 Docker 之后, 部署起来却这间非常方便,环境不用搭了, 直接创建一个 microsoft/aspnetcore 的容器, 在本地开发好后, 把内容直接部署到容器中. 下面的命令是把本地发布 ...

  2. 记一次Docker中部署Asp.Net Core 3.0的踩坑过程

    最近公司打算重构目前直销报单系统到微信小程序中,目前的系统只能在PC上面使用,这两年也搞过App端,但是由于人员流动和公司架构调整最后都不了了之,只留下一堆写了一半的接口.以前的接口依然是使用Asp. ...

  3. 使用docker来部署asp.net core的程序

    使用docker来部署asp.net core程序 暂不介绍docker是个什么东西?不知道的自己百度. 第一步安装docker: 我的docker是装在centos7系统上,windows上我的也用 ...

  4. docker中运行ASP.NET Core Web API

    在docker中运行ASP.NET Core Web API应用程序 本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过 ...

  5. 在 Visual Studio 中部署 ASP.NET Core 应用

    另一篇:在 Docker 中手工部署 ASP.NET Core 应用 操作步骤 1. 安装 Docker For Windows(安装之前 Windows 需要 开启 Hyper-V 虚拟机功能 ) ...

  6. 在docker中运行ASP.NET Core Web API应用程序

    本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过程中,也会对docker的使用进行一些简单的描述.对于.NET Cor ...

  7. 在Docker中部署Asp.net core2.1以及修改发布

    https://blog.csdn.net/sd7o95o/article/details/80809734   本篇文章主要是如何在Docker容器中运行ASP.NET Core应用程序,以及修改系 ...

  8. Centos8 Docker+Nginx部署Asp.Net Core Nginx正向代理与反向代理 负载均衡实现无状态更新

    首先了解Nginx 相关介绍(正向代理和反向代理区别) 所谓代理就是一个代表.一个渠道: 此时就涉及到两个角色,一个是被代理角色,一个是目标角色,被代理角色通过这个代理访问目标角色完成一些任务的过程称 ...

  9. 在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)

    环境准备 1.亚马逊EC2 Windows Server 2016 with Container 2.Visual Studio 2015 Enterprise(Profresianal要装Updat ...

随机推荐

  1. (转载)Zookeeper的功能以及工作原理

    本文转载自:https://www.cnblogs.com/felixzh/p/5869212.html 1.ZooKeeper是什么?       ZooKeeper是一个分布式的,开放源码的分布式 ...

  2. 成功解决gyp verb ensuring that file exists: C:\Python27\python.exe gyp ERR! configure error gyp ERR! sta

    解决问题 gyp verb ensuring that file exists: C:\Python27\python.exegyp ERR! configure errorgyp ERR! stac ...

  3. PHP 封装POD 类

    使用POD的过程 //1.造DSN:驱动名:dbname=数据库名;host=服务器地址 $dsn = "mysql:dbname=mydb;host=localhost"; // ...

  4. Android jni/ndk编程四:jni引用类型

    一.JNI引用类型 JNI支持三种类型的 opaque reference:local references, global references,和weak global references,下面 ...

  5. java 包引入时*会全部加载吗

    有一个虚拟机参数: -XX:+TraceClassLoading 这两种写法,最终加载的类是一样的. 对比了一下输出的都是618行

  6. vue路由嵌套,对应展示的视图

  7. JDBC接口核心的API

    java.sql.*   和  javax.sql.* Driver接口: 表示java驱动程序接口.所有的具体的数据库厂商要来实现此接口. |- connect(url, properties):  ...

  8. centos的KVM初级安装

    什么是KVM虚拟化技术?KVM(Kernel-based Virtual Machine),主流虚拟化技术之一,集成与Linux2.6之后版本中,通过linux内核提供任务调度及管理.kvm,在实现虚 ...

  9. np.where()

    numpy.where (condition[, x, y]) numpy.where()两种用法 1. np.where(condition, x, y) 满足条件(condition),输出x,不 ...

  10. qt liunx 安装命令

    qt SDK : apt-get install qt-sdkqt 安装 : apt-get install qtcreator文档安装 : cmake kdelibs5-data subversio ...