使用docker部署Asp.net core web应用程序--图文教程

要想参考本文做实验,可以参考上一篇文章,关于docker的简单操作,写的比较详细。

拉取aspnetcore最新docker镜像

从阿里云的docker镜像拉取,因为前面我们针对docker镜像做过配置。

[[email protected] ~]# docker pull microsoft/aspnetcore

根据你的网速等待拉取成功。

[[email protected] ~]# docker images

执行上面的命令,如果能看到aspnetcore镜像,则表示拉取成功。

如果我们想拉取指定的aspnetcore版本,可使用如下命令:

[[email protected] ~]# docker pull microsoft/aspnetcore:1.0

[[email protected] ~]# docker pull microsoft/aspnetcore:2.0

制作自己的应用镜像

1.创建Dockerfile文件

我们先在临时目录创建Dockerfile,待会我们的asp.net core web应用也会放在临时目录。

[[email protected] ~]# cd /tmp

[[email protected] tmp]# vi Dockerfile

将下面代码拷贝进去

FROM docker.io/microsoft/aspnetcore

WORKDIR /app

COPY ./songlou .

EXPOSE 8080

CMD ["dotnet", "SongLou.Web.dll"]

将上面五行代码拷贝进去,保存并退出。

FROM表示新镜像所依赖的docker镜像。

WORKDIR表示你的asp.net core web应用放在容器的哪个目录,这里是/app目录

COPY表示拷贝当前系统下的哪个目录,这里是songlou目录

EXPOSE表示暴露出来的端口号。

CMD表示执行的命令,即运行我们自己的asp.net core web程序。

想办法将你的asp.net core web发布程序拷贝到centos系统的/tmp临时目录

2.创建镜像

[[email protected] tmp]# docker build -t mycore .

后面的英文符号.不能去掉,mycore表示你的镜像名称。

如果出现Step1-Step5,则表示镜像创建成功。

[[email protected] tmp]# docker images

再次查看所有镜像,我们会看到:

除了我们从官网拉取的aspnetcore镜像,还有一个我们自己创建的镜像:mycore。

3.运行容器

[[email protected] tmp]# docker run --name mycore -p 8080:80 -d mycore

第一个mycore表示容器名称,第二个mycore表示镜像名称

执行后会出现新容器的ID:

2859330db3a5c6113b0ccdf6e9d78e7e36ea17f6c4de495514c4ec8901ed9218

4.执行curl命令访问我们的网站

[[email protected] tmp]# curl http://localhost:8080

运行结果:

{"str":"test","environmen":null,"username":null,"password":null}

[[email protected] tmp]# curl http://192.168.1.160:8080

用IP访问看到的结果也是一样的:

{"str":"test","environmen":null,"username":null,"password":null}

或者是在windows操作系统里的浏览器地址栏输入:http://192.168.1.160:8080/看到的结果也是一样的。

至此大功告成。

5.进入容器

[[email protected] tmp]# docker exec -it mycore /bin/bash

exec命令可以进入docker容器,然后像使用centos操作系统一样。在里面进行操作。

以后有时间会介绍如何将自己的镜像推送到阿里云的镜像仓库。

原文地址:https://www.cnblogs.com/subendong/p/8992285.html

时间: 2024-10-11 17:14:23

使用docker部署Asp.net core web应用程序--图文教程的相关文章

ASP.NET Core Web 应用程序开发期间部署到IIS自定义主机域名并附加到进程调试

原文:ASP.NET Core Web 应用程序开发期间部署到IIS自定义主机域名并附加到进程调试 想必大家之前在进行ASP.NET Web 应用程序开发期间都有用到过将我们的网站部署到IIS自定义主机域名并附加到进程进行调试. 那我们的ASP.NET Core Web 应用程序又是如何部署到我们的IIS上面进行调试的呢,接下来我们来简单介绍下: 一.安装IIS所需的Host扩展(Windows Server Hosting) 下载地址:https://dotnet.microsoft.com/

Asp.Net Core Web应用程序—探索

前言 作为一个Windows系统下的开发者,我对于Core的使用机会几乎为0,但是考虑到微软的战略规划,我觉得,Core还是有先了解起来的必要. 因为,目前微软已经搞出了两个框架了,一个是Net标准(.NetFramework),一个是Net Core. 而新特性的更新几乎都是在Net Core这个框架中. 所以,考虑到未来,一旦Core完善了,那微软肯定会放弃现在的.NetFrameWork. 因此,.Net程序员集体改用Net Core,想来,一定是大趋势. 所以让我们怀着探索的精神来看看A

ASP.NET Core Web 应用程序系列(一)- 使用ASP.NET Core内置的IoC容器DI进行批量依赖注入

在正式进入主题之前我们来看下几个概念: 一.依赖倒置 依赖倒置是编程五大原则之一,即: 1.上层模块不应该依赖于下层模块,它们共同依赖于一个抽象. 2.抽象不能依赖于具体,具体依赖于抽象. 其中上层就是指使用者,下层就是指被使用者. 二.IoC控制反转 控制反转(IoC,全称Inversion of Control)是一种思想,所谓“控制反转”,就是反转获得依赖对象的过程. 三.依赖注入(DI) 依赖注入设计模式是一种在类及其依赖对象之间实现控制反转(IoC)思想的技术. 所谓依赖注入(DI,全

ASP.NET Core Web 应用程序系列(三)- 在ASP.NET Core中使用Autofac替换自带DI进行构造函数和属性的批量依赖注入(MVC当中应用)

在上一章中主要和大家分享了在ASP.NET Core中如何使用Autofac替换自带DI进行构造函数的批量依赖注入,本章将和大家继续分享如何使之能够同时支持属性的批量依赖注入. 约定: 1.仓储层接口都以“I”开头,以“Repository”结尾.仓储层实现都以“Repository”结尾. 2.服务层接口都以“I”开头,以“Service”结尾.服务层实现都以“Service”结尾. 接下来我们正式进入主题,在上一章的基础上我们再添加一个web项目TianYa.DotNetShare.Core

ASP.NET Core Web 应用程序系列(二)- 在ASP.NET Core中使用Autofac替换自带DI进行批量依赖注入(MVC当中应用)

原文:ASP.NET Core Web 应用程序系列(二)- 在ASP.NET Core中使用Autofac替换自带DI进行批量依赖注入(MVC当中应用) 在上一章中主要和大家分享在MVC当中如何使用ASP.NET Core内置的DI进行批量依赖注入,本章将继续和大家分享在ASP.NET Core中如何使用Autofac替换自带DI进行批量依赖注入. PS:本章将主要采用构造函数注入的方式,下一章将继续分享如何使之能够同时支持属性注入的方式. 约定: 1.仓储层接口都以“I”开头,以“Repos

ASP.NET Core Web 应用程序系列(五)- 在ASP.NET Core中使用AutoMapper进行实体映射

原文:ASP.NET Core Web 应用程序系列(五)- 在ASP.NET Core中使用AutoMapper进行实体映射 本章主要简单介绍下在ASP.NET Core中如何使用AutoMapper进行实体映射.在正式进入主题之前我们来看下几个概念: 1.数据库持久化对象PO(Persistent Object):顾名思义,这个对象是用来将我们的数据持久化到数据库,一般来说,持久化对象中的字段会与数据库中对应的 table 保持一致. 2.视图对象VO(View Object):视图对象 V

ASP.NET Core Web 应用程序系列(四)- ASP.NET Core 异步编程之async await

原文:ASP.NET Core Web 应用程序系列(四)- ASP.NET Core 异步编程之async await PS:异步编程的本质就是新开任务线程来处理. 约定:异步的方法名均以Async结尾. 实际上呢,异步编程就是通过Task.Run()来实现的. 了解线程的人都知道,新开一个线程来处理事务这个很常见,但是在以往是没办法接收线程里面返回的值的.所以这时候就该await出场了,await从字面意思不难理解,就是等待的意思. 执行await的方法必须是async修饰的,并且是Task

Gitlab CI 自动部署 asp.net core web api 到Docker容器

为什么要写这个? 在一个系统长大的过程中会经历不断重构升级来满足商业的需求,而一个严谨的商业系统需要高效.稳定.可扩展,有时候还不得不考虑成本的问题.我希望能找到比较完整的开源解决方案来解决持续集成.监控报警.以及扩容和高可用性的问题.是学习和探索的过程分享给大家,也欢迎同行的人交流. 先来一个三步曲,我们将完成通过GitLab CI 自动部署 net core web api 到Docker 容器的一个示例.这是第一步,通过此文您将了解如何将net core web api 运行在Docker

Centos下使用Docker部署asp.net core项目

本文讲述 CentOS 系统 Docker 中部署 asp.net core开源项目 abp 的过程 步骤 1. 拉取 asp.net core 基础镜像 docker pull microsoft/aspnetcore 2.编写 Dockerfile 文件 FROM docker.io/microsoft/aspnetcore WORKDIR /app COPY . . ENTRYPOINT ["dotnet", "QXD.BBS.Web.Mvc.dll"] 3.