将netcore网站部署到docker容器中
一、背景
最近一直在看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容器中的更多相关文章
- Linux下将.Asp Core 部署到 Docker容器中
我们来部署一个简单的例子: 将一个简单的.Aps Core项目部署到Docker容器中并被外网访问 说明: 下面的步骤都是建立在宿主服务器系统已经安装配置过Docker容器,安装Docker相对比较简 ...
- docker多个容器连接 将 Rails 程序部署到 Docker 容器中
在docker中使用MySQL数据库 https://yq.aliyun.com/articles/583765 将 Rails 程序部署到 Docker 容器中
- jenkins集成基于maven的javaweb项目,部署到docker容器中
使用开源工具:Jenkins,码云gitee,docker,docker页面管理工具PortainerUI,github 各种工具的安装就不必介绍了,首先打开Jenkins,刚安装完Jenkins,可 ...
- 【原创】大叔经验分享(71)docker容器中使用jvm工具
java应用中经常需要用到jvm工具来进行一些操作,如果java应用部署在docker容器中,如何使用jvm工具? 首先要看使用的docker镜像, 比如常用的openjdk镜像分为jdk和jre,只 ...
- .NET Core开发的iNeuOS工业互联平台,iNeuKernel物联网核心组件在Docker容器中部署。
目 录 1. 概述... 2 2. 演示信息... 2 3. 安装Docker容器... 2 4. 安装dotnet镜像... 3 5. ...
- Docker容器中开始.NETCore之路
一.引言 开始写这篇博客前,已经尝试练习过好多次Docker环境安装,.Net Core环境安装了,在这里替腾讯云做一个推广,假如我们想学习.练手.net core 或是Docker却苦于没有开发环境 ...
- .NetCore下使用IdentityServer4 & JwtBearer认证授权在CentOS Docker容器中运行遇到的坑及填坑
今天我把WebAPI部署到CentOS Docker容器中运行,发现原有在Windows下允许的JWTBearer配置出现了问题 在Window下我一直使用这个配置,没有问题 services.Add ...
- docker容器中布置静态网站
docker容器中布置静态网站(基于云服务器ubuntu系统) 服务器准备(ubuntu) docker nginx 静态网页制作 浏览器测试 服务器布置 这里推荐使用云服务器(阿里云.华为云.腾讯云 ...
- 在docker容器中编译hadoop 3.1.0
在docker容器中编译hadoop 3.1.0 优点:docker安装好之后可以一键部署编译环境,不用担心各种库不兼容等问题,编译失败率低. Hadoop 3.1.0 的源代码目录下有一个 `sta ...
随机推荐
- Tosca 一不小心,我把那一排模块全关闭了,怎么打开
#写在前面, 之前用的时候,学了很多,基本都忘记了,现在再重新用,啥啥都不记得了,我还是应该事无巨细的全部记下来 红线这一排我关了好多,在哪儿打开 在这打开
- Oracle 表结构、索引以及分区信息查询
Oracle 表结构.索引以及分区信息查询 /* 获取表:*/ select table_name from user_tables; --当前用户的表 select table_name from ...
- 让remix使用本地文件系统
让remix使用本地文件系统 转:https://blog.csdn.net/platocnet/article/details/83376792 1. 测试发现使用npm命令安装相关环境不成功, ...
- Python3基础 函数 多值参数 元组与字典形式(使用星号对列表与字典进行拆包)
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- wpf程序,只允许运行一个程序实例问题
https://bbs.csdn.net/topics/390486402 https://codereview.stackexchange.com/questions/20871/single-in ...
- web项目访问被拦截
如图,一启动就出现下图登录界面 原因很简单就是被拦截了.pom.xml中引入了下面的包,注释掉就可以了.当然如果用了shiro等权限框架也可能出现类似问题.谁copy进来的,盘他. <!-- h ...
- ES6深入浅出-4 迭代器与生成器-3.生成器 & for...of
迭代器平时用的很少.但是如果你是写框架的,你会经常用到迭代器. 生成器是专门用来做迭代器的东西 发布器是要产生一个叫做next的对象,如果你要产生这种对象.就可以使用ES6新出的语法. ES6的新语法 ...
- k8s记录-flanneld+docker网络部署(四)
1)程序准备tar xvf flannel-v0.10.0-linux-amd64.tar.gz mkdir -p /data/projects/common/kubernetes/{bin,cfg, ...
- python文件之间变量和函数的 获取/调用 的方法
- Nginx配置自定义的403页面
1.开启nginx的状态码,虚拟主机配置中加入下边一段 location /nginx_status{ stub_status on; access_log off; } 或着在nginx的http模 ...