Centos 7 ASP.NET Core 1.0 Docker部署
先决条件
64位,内核3.10以上,查看当前的内核版本,打开一个终端使用uname -r显示您的内核版本

安装
sudo yum update
sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF

安装docker
sudo yum install docker-engine

启动docker
sudo service docker start

验证docker已正常安装

安装.net core 镜像
https://hub.docker.com/r/microsoft/dotnet/

新建文件Dockerfile ,并修改内容

文件内容
#基于`mcrosoft/dotnet:1.0.0-core` 来构建我们的镜像
FROM microsoft/dotnet:1.0.0-core
#拷贝项目publish文件夹中的所有文件到 docker容器中的publish文件夹中
COPY . /publish
#设置工作目录为 `/publish` 文件夹,即容器启动默认的文件夹
WORKDIR /publish
#设置Docker容器对外暴露60000端口
EXPOSE 60000
#使用`dotnet MyApp.TestCore.dll`来运行应用程序
CMD ["dotnet", "MyApp.TestCore.dll"]

构建镜像
docker build -t my-dotnet-app .
注意最后有个.
如果创建失败,需要vpn才可以,这一步我试了几次总有超时,就找了个vpn再次构建就成功了

运行
docker run --name my-dotnet-app -d -p 60000:60000 my-dotnet-app
测试站点

失败了,报curl: (56) Recv failure: Connection reset by peer
修改程序如下:添加UseConfiguration
var configuration = new ConfigurationBuilder()
.AddCommandLine(args)
.Build();
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseConfiguration(configuration)
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
发布程序
修改Dockerfile 文件如下
FROM microsoft/dotnet:1.0.0-core
COPY . /publish
WORKDIR /publish
EXPOSE 5003
CMD ["dotnet", "MyApp.TestCore.dll","--server.urls", "http://*:5003"]
重新构建镜像
sudo docker build -t dotnetapp .

运行并查看
sudo docker run --name dotnetapp -d -p 5003:5003 dotnetapp

测试站点

api返回数据,成功
防火墙开放端口
$ sudo firewall-cmd --zone=public --add-port=5003/tcp --permanent
$ sudo firewall-cmd --reload
说下遇到的问题:
1.构建镜像时由于网络原因,试了好几次都没有成功,需要找个vpn
2.curl: (56) Recv failure: Connection reset by peer 这个错误,.net core默认创建的站点绑定的是localhost这个需要修改站点绑定方式,通过添加
UseConfiguration或UseUrls方式修改默认站点的绑定
Centos 7 ASP.NET Core 1.0 Docker部署的更多相关文章
- 基于VS2017的Docker Support体检ASP.NET Core站点的Docker部署
最近在学习如何用 Docker 部署生产环境中的 ASP.NET Core 站点,作为一个 Docer 新手,从何处下手更容易入门呢?一开始就手写 Docker 配置文件(Docfile, docke ...
- ASP.NET Core 2.0发布/部署到Ubuntu服务器并配置Nginx反向代理
原文链接https://www.linuxidc.com/Linux/2017-12/149557.htm ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用AS ...
- ASP.NET Core:ASP.NET Core程序使用Docker部署
一.前言 这篇文章介绍如何将一个ASP.NET Core应用程序在Docker中进行部署.开发工具使用的是Visual Studio 2019和VS Code. 二.使用Docker部署 我们选择新建 ...
- 使用Linux、Nginx和Github Actions托管部署ASP.NET Core 6.0应用
使用Linux.Nginx和Github Actions托管部署ASP.NET Core 6.0应用 前言 本文主要参考微软这篇文档而来 Host ASP.NET Core on Linux with ...
- Centos7 & Docker & Jenkins & ASP.NET Core 2.0 自动化发布和部署
写在前面 Docker一直很火热,一直想把原本的Jenkins自动部署工具搬到Docker上面,无奈今年一直忙于各种事情,迟迟未实施这个事情,正好迎来了dotnet core 2.0 的正式发布,升级 ...
- ASP.NET Core 3.0 : 二十八. 在Docker中的部署以及docker-compose的使用
本文简要说一下ASP.NET Core 在Docker中部署以及docker-compose的使用 (ASP.NET Core 系列目录). 系统环境为CentOS 8 . 打个广告,求职中.. 一 ...
- docker 安装jenkins 发布 asp.net core 2.0
安装Docker 其实安装Docker的过程,大家可以到Docker官网找到自己相对应的安装文档进行安装,Docker区分CE和EE的两个版本,具体这两个版本有什么区别,大家自行查阅相关资料,这里不再 ...
- 记一次Docker中部署Asp.Net Core 3.0的踩坑过程
最近公司打算重构目前直销报单系统到微信小程序中,目前的系统只能在PC上面使用,这两年也搞过App端,但是由于人员流动和公司架构调整最后都不了了之,只留下一堆写了一半的接口.以前的接口依然是使用Asp. ...
- 将 ASP.NET Core 1.0 应用作为 docker 镜像发布 (Linux版)
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
随机推荐
- hibernate(四)__由表逆向创建Domain对象和对象关系映射文件
之前我们是手写Domain对象和对象关系映射文件->然后生成数据库中的Table. 现在我们反过来先在数据库中建好Table->然后用工具生成Domain对象和对象关系映射文件. 步骤: ...
- io.js - 兼容 NPM 平台的 Node.js 新分支
io.js(JavaScript I/O)是兼容 NPM 平台的 Node.js 新分支,由 Node.js 的核心开发者在 Node.js 的基础上,引入更多的 ES6 特性,它的目的是提供更快的和 ...
- windows 端口 任务
- css笔记图
1.css3选择器 2.css3动画 3.flex 4.自适应 5.边距图
- angular源码分析:angular中各种常用函数,比较省代码的各种小技巧
angular的工具函数 在angular的API文档中,在最前面就是讲的就是angular的工具函数,下面列出来 angular.bind //用户将函数和对象绑定在一起,返回一个新的函数 angu ...
- JS与一般处理程序之间传值乱码
好久没用到,突然遇到此问题还用了点时间. 在JS里面通过URL向Handler传中文值的时候,在Handler里面取值出来后会发现是乱码的~~.这就需要个编码解码过程.(先记录自己遇到的一个方面的解决 ...
- JavaScript事件机制——细思极恐
JavaScript事件机制,也有让人深思的东西.在一开始未深入了解,我头脑里有几个问题发出: 1. 自下而上(冒泡)事件怎么写,自上而下(捕获)又是怎么写? 2. 捕获型和冒泡型同时设置,谁生效? ...
- [javascript svg fill stroke stroke-width x y rect rx ry 属性讲解] svg fill stroke stroke-width rect 绘制具有圆角矩形属性讲解
<!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title ...
- SharePoint2013 错误
英文错误信息: This operation can be performed only on a computer that is joined to a server farm by users ...
- Android点击空白处,隐藏软键盘
在做登陆或者注册的时候,软键盘经常可能会挡住一些界面.我们需要在输入完成之后隐藏软键盘. 在我们点击空白处或者非EditText的地方来隐藏软键盘. public class HomeActivity ...