一、背景

最近一直在看docker的教程,基础知识看的差不多了。理论总要运用于实践,所以下面我们就来把最简单的一个netcore网站托管到docker容器中。

环境:1、docker for windows

2、 .net core 2.2

二、创建一个简单的netcore网站

2.1 使用dotnet new web命令创建一个新的项目

2.2 使用dotnet run命令编译创建的项目

2.3 访问验证生成的netcore项目



至此,我们的netcore项目,已经在windows平台上运行起来了。

三、编译为linux运行文件,并编写Dockerfile

3.1 使用dotnet publish --runtime ubuntu.16.04-x64命令编译为可在linux系统运行的文件

3.2 进入到编译好的ubuntu.16.04-x64\publish\文件夹下,编写dockerfile

# 声明使用的基础镜像
FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
# 声明工作目录
WORKDIR /app
EXPOSE 80
COPY ./ ./
# 指定应用入口点 netcoretest.dll代表的是主程序文件
ENTRYPOINT ["dotnet", "netcoretest.dll"]

四、运行生成的镜像、并验证访问

4.1 使用docker build -t netcoretest .制作镜像



我们可以使用docker image ls 查看刚制作成功的镜像

4.2 使用生成的镜像,运行到docker

运行命令docker run -it -d -p 8072:80 --name netcoretest netcoretest

4.3 查看运行成功的容器

4.4 访问容器中的网站http://localhost:8072



访问成功,我们已经成功地把netcore的网站托管到docker容器中

五、总结

将网站托管到容器中,是一种比较新的技术,代表着新的方向。

我们可以将问题拆解为,先编写netcore程序,验证程序在linux平台上运行成功后,再来将程序托管到docker中。

参考文章:

1.https://www.cnblogs.com/xiaoerlang90/p/10285410.html

2.https://www.cnblogs.com/hulizhong/p/10698584.html

将netcore网站部署到docker容器中的更多相关文章

  1. Linux下将.Asp Core 部署到 Docker容器中

    我们来部署一个简单的例子: 将一个简单的.Aps Core项目部署到Docker容器中并被外网访问 说明: 下面的步骤都是建立在宿主服务器系统已经安装配置过Docker容器,安装Docker相对比较简 ...

  2. docker多个容器连接 将 Rails 程序部署到 Docker 容器中

    在docker中使用MySQL数据库 https://yq.aliyun.com/articles/583765 将 Rails 程序部署到 Docker 容器中

  3. jenkins集成基于maven的javaweb项目,部署到docker容器中

    使用开源工具:Jenkins,码云gitee,docker,docker页面管理工具PortainerUI,github 各种工具的安装就不必介绍了,首先打开Jenkins,刚安装完Jenkins,可 ...

  4. 【原创】大叔经验分享(71)docker容器中使用jvm工具

    java应用中经常需要用到jvm工具来进行一些操作,如果java应用部署在docker容器中,如何使用jvm工具? 首先要看使用的docker镜像, 比如常用的openjdk镜像分为jdk和jre,只 ...

  5. .NET Core开发的iNeuOS工业互联平台,iNeuKernel物联网核心组件在Docker容器中部署。

    目       录 1.      概述... 2 2.      演示信息... 2 3.      安装Docker容器... 2 4.      安装dotnet镜像... 3 5.      ...

  6. Docker容器中开始.NETCore之路

    一.引言 开始写这篇博客前,已经尝试练习过好多次Docker环境安装,.Net Core环境安装了,在这里替腾讯云做一个推广,假如我们想学习.练手.net core 或是Docker却苦于没有开发环境 ...

  7. .NetCore下使用IdentityServer4 & JwtBearer认证授权在CentOS Docker容器中运行遇到的坑及填坑

    今天我把WebAPI部署到CentOS Docker容器中运行,发现原有在Windows下允许的JWTBearer配置出现了问题 在Window下我一直使用这个配置,没有问题 services.Add ...

  8. docker容器中布置静态网站

    docker容器中布置静态网站(基于云服务器ubuntu系统) 服务器准备(ubuntu) docker nginx 静态网页制作 浏览器测试 服务器布置 这里推荐使用云服务器(阿里云.华为云.腾讯云 ...

  9. 在docker容器中编译hadoop 3.1.0

    在docker容器中编译hadoop 3.1.0 优点:docker安装好之后可以一键部署编译环境,不用担心各种库不兼容等问题,编译失败率低. Hadoop 3.1.0 的源代码目录下有一个 `sta ...

随机推荐

  1. Tosca 一不小心,我把那一排模块全关闭了,怎么打开

    #写在前面, 之前用的时候,学了很多,基本都忘记了,现在再重新用,啥啥都不记得了,我还是应该事无巨细的全部记下来 红线这一排我关了好多,在哪儿打开 在这打开

  2. Oracle 表结构、索引以及分区信息查询

    Oracle 表结构.索引以及分区信息查询 /* 获取表:*/ select table_name from user_tables; --当前用户的表 select table_name from ...

  3. 让remix使用本地文件系统

    让remix使用本地文件系统   转:https://blog.csdn.net/platocnet/article/details/83376792 1. 测试发现使用npm命令安装相关环境不成功, ...

  4. Python3基础 函数 多值参数 元组与字典形式(使用星号对列表与字典进行拆包)

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  5. wpf程序,只允许运行一个程序实例问题

    https://bbs.csdn.net/topics/390486402 https://codereview.stackexchange.com/questions/20871/single-in ...

  6. web项目访问被拦截

    如图,一启动就出现下图登录界面 原因很简单就是被拦截了.pom.xml中引入了下面的包,注释掉就可以了.当然如果用了shiro等权限框架也可能出现类似问题.谁copy进来的,盘他. <!-- h ...

  7. ES6深入浅出-4 迭代器与生成器-3.生成器 & for...of

    迭代器平时用的很少.但是如果你是写框架的,你会经常用到迭代器. 生成器是专门用来做迭代器的东西 发布器是要产生一个叫做next的对象,如果你要产生这种对象.就可以使用ES6新出的语法. ES6的新语法 ...

  8. k8s记录-flanneld+docker网络部署(四)

    1)程序准备tar xvf flannel-v0.10.0-linux-amd64.tar.gz mkdir -p /data/projects/common/kubernetes/{bin,cfg, ...

  9. python文件之间变量和函数的 获取/调用 的方法

  10. Nginx配置自定义的403页面

    1.开启nginx的状态码,虚拟主机配置中加入下边一段 location /nginx_status{ stub_status on; access_log off; } 或着在nginx的http模 ...