自从.NET Core3.0发布之后,写了几篇关于.NET Core 3.0的文章,有助于你快速入门.NET Core3.0。

本篇文章主要讲解如何一步步创建一个mvc项目,然后发布并部署在Docker上运行。需要你本地有docker环境

  1. .Net Core3.0 配置Configuration
  2. .Net Core3.0使用gRPC
  3. .NET Core3.0创建Worker Services
  4. .Net Core3.0 日志 logging
  5. .Net Core3.0依赖注入DI
  6. .NET Core 3.0 中间件 Middleware
  7. .Net 5.0:.Net的未来-译

1.创建一个站点

创建一个ASP.NET Core Web应用程序,选中启用Docker支持。自动帮我们创建一个Dockerfile文件。

2.编写Dockerfile文件

dockerfile是一个文件格式的配置文件,用户可以使用dockerfile来快速构建自定义的镜像。由一行行命令语句组成,并且支持#开头的注释行。

dockerfile主题内容一般分为4部分

  1. 基础镜像信息
  2. 维护者信息使用label指令
  3. 镜像操作指令
  4. 容器启动时执行指令
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0-buster-slim AS base
WORKDIR /app
EXPOSE
COPY . .
ENTRYPOINT ["dotnet", "AA.Mvc.dll"]

dockerfile文件指令说明:

  • FROM -指定所创建镜像的基础镜像
  • WORKDIR-配置工作目录
  • EXPOSE-声明镜像内服务监听的端口
  • COPY-复制内容到镜像
  • ENTRYPOINT-启动镜像的默认人口命令

编译发布web项目

3.站点发布,xftp上传centos

使用xftp上传到centos系统中

4.构建镜像,运行容器并浏览

4.1创建镜像,可以使用命令docker build,如下所示:

docker build -t core-mvc .

参数分解:

  • -t ---指定镜像名称
  • 命令结尾处 ---表示build上下文为当前目录,默认情况下docker会使用在上下文的根目录下找到Dockerfile文件

4.2查看镜像列表,输入一下命令

docker images

4.3创建并启动、查看容器

ocker run --name netcore-mvc -d -p :  core-mvc
docker ps -a

参数说明

  • -d ,表示在后台以守护态(daemonized)形式运行容器
  • -p 外部端口与内部容器端口映射。
  • --name 指定容器的名称。当然可以不指定,默认会为我们创建
  • 最后一个参数 core-mvc 就是我们刚创建的镜像名称

经过以上4个步骤,在浏览器中输入地址http://192.168.92.130:50879查看如图

至此一个完整的项目以手工的方式运行在docker容器中。

欢迎加入微信群,一起交流,加我qinzhong45备注入群

.NET Core 3.0 部署在docker上运行的更多相关文章

  1. 把Asp.Net Core 2.0部署在Linux上,使用Nginx代理服务器,并且用Systemctl命令以服务的方式监听项目

    在Linux上部署.net core 2.0程序: 第一步:配置Nginx代理 在/etc/nginx/sites-available/default 中添加 server { listen ; lo ...

  2. .NET Core Web 应用部署到 Docker 中运行

    环境介绍 : 虚拟机:VirtualBox 5.1.6 系 统:Ubuntu 16.04.1 LTS 系统准备完成后可以使用 sudo apt-get udpate 和 sudo apt-get up ...

  3. 六、.net core (.NET 6)程序部署到Docker上

    使用Docker部署应用程序 首先确保已经安装Docker 桌面软件,如下图: 然后,把需要部署到Docker上面的项目,咱们先添加Docker的支持,启动项目右键 -> 添加 -> Do ...

  4. 将 ASP.NET Core 1.0 应用作为 docker 镜像发布 (Linux版)

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  5. win10下ASP.NET Core 2.0部署环境搭建(转)

    此文用于记录在win10环境下,新建的Asp.net Core 2.0 Web应用项目如何运行在IIS上 一.运行环境 操作系统: Window10 家庭中文版 版本 10.0.15063 版本 15 ...

  6. ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1)

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  7. ASP.NET Core 1.0 部署 HTTPS

    ASP.NET Core 1.0 部署 HTTPS ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1) 提示 更新时间:2016年01月23日. 在目前介 ...

  8. 将asp.net core2.0项目部署在IIS上运行

    原文:将asp.net core2.0项目部署在IIS上运行 前言:  与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是独立运行的.它独立运行在控 ...

  9. ELK 性能(3) — 在 Docker 上运行高性能容错的 Elasticsearch 集群

    ELK 性能(3) - 在 Docker 上运行高性能容错的 Elasticsearch 集群 介绍 在 Docker 上运行高性能容错的 Elasticsearch 集群 内容 通常熟悉的开发流程是 ...

随机推荐

  1. redis系列之------简单的动态字符串(SDS)

    前言 Redis 没有直接使用 C 语言传统的字符串表示(以空字符结尾的字符数组,以下简称 C 字符串), 而是自己构建了一种名为简单动态字符串(simple dynamic string,SDS)的 ...

  2. netty源码解解析(4.0)-24 ByteBuf基于内存池的内存管理

    io.netty.buffer.PooledByteBuf<T>使用内存池中的一块内存作为自己的数据内存,这个块内存是PoolChunk<T>的一部分.PooledByteBu ...

  3. 深入理解C#多线程 -戈多编程

    引用(http://www.cnblogs.com/luxiaoxun/p/3280146.html) 一.使用线程的好处   1.可以使用线程将代码同其他代码隔离,提高应用程序的可靠性. 2.可以使 ...

  4. Spring Boot 2.X(八):Spring AOP 实现简单的日志切面

    AOP 1.什么是 AOP ? AOP 的全称为 Aspect Oriented Programming,译为面向切面编程,是通过预编译方式和运行期动态代理实现核心业务逻辑之外的横切行为的统一维护的一 ...

  5. 在集成环境中修改配置文件php.ini不生效的解决办法

    配置完成之后一定要重启服务,如果重启服务还是不生效. 就去看一下phpinfo(),找到Loaded Configuration File选项,这个才是真正读取的配置文件

  6. Get https://172.18.255.243:6443/api/v1/namespaces/kube-system/configmaps/kubelet-config-1.12: dial tcp 172.18.255.243:6443: i/o timeout

    问题描述 使用外网加入集群的时候报如下错误: Get https://172.18.255.243:6443/api/v1/namespaces/kube-system/configmaps/kube ...

  7. VPGAME 的 Kubernetes 迁移实践

    作者 | 伍冲斌  VPGAME 运维开发工程师 导读:VPGAME 是集赛事运营.媒体资讯.大数据分析.玩家社群.游戏周边等为一体的综合电竞服务平台.总部位于中国杭州,在上海和美国西雅图分别设立了电 ...

  8. windows下bower init 报错: bower ENOINT Register requires an interactive shell

    windows下bower初始化时不应该在git bash中,而应该在cmd下打开的dos窗口中进行

  9. 这可能就是你苦苦寻找免费、高颜值、功能强大的 Markdown 编辑器(共5款)

    本文作者 | HelloGitHub-小猪蹄 Markdown 是一个轻量级的标记语言,语法简单.容易上手,它深受程序员.博客主等人群的钟爱.随着越来越多的博客系统支持 Markdown,它也开始越来 ...

  10. i春秋DMZ大型靶场实验(三)内网转发DMZ2

    更具实验文件知道存在源码泄露  下载源码进行源码审计 发现admin账号 查看user.php 发现mysql 账号 端口 对登录后源码进行审计 发现上传文件的两处漏洞 对 fiel name 可以 ...