使用docker来部署asp.net core程序

暂不介绍docker是个什么东西?不知道的自己百度。

第一步安装docker:

我的docker是装在centos7系统上,windows上我的也用过,但是在windows上动不动就给我死掉。最后换了linux系统。

具体在linux上如何安装docker参考下面的链接。

https://www.cnblogs.com/yufeng218/p/8370670.html

第二步拉取dotnet最新镜像:

docker pull microsoft/dotnet

然后等待拉去镜像。如果是自己电脑的虚拟机的话,会有点慢。然后百度docker更改镜像库地址。

然后拉去完成后 使用这个命令

docker images

来查看当前的拉去后镜像。

拉去制定版本的的dotnet镜像或者拉去asp.net core 运行时.,自己去百度(懒得打字)

当前的dotnet镜像已经拉去好了。我们来尝试运行一下,输入一下命令

docker run -it 540aa875e6c2

上面命令的540aa875e6c2是我虚拟机上dotnet镜像的ImageId,请各位输入的自己机器上的。使用dokcer images 会显示镜像id的。

然后你会看到进入了一个这么个东西

[root@iz2zefw4l0vyl0r786jwc1z ~]# docker run -it 540aa875e6c2
root@d286c33bedd5:/# ^C
root@d286c33bedd5:/#

最常用的输入dotent -version看看版本,还有其他命令。

到这里我们的拉去基础镜像就完成了。

在这里你会问,为什么要拉取dotnet镜像?

答:不拉去基础镜像的你的.net core根本用不了啊。不能运行啊。

第三步上传.net core程序 到linux服务器。

随便百度一个ftp工具,上传到linux你想要的任何位置。

如果有人问,我想制定一个目录上传怎么办?

答:两个办法,1 你去看看linux创建目录的命令,2;大部分ftp工具都自带创建目录按钮,点一下就行了。

第四步制作你自己程序的docker镜像。

要制作docker镜像,就离不开一个叫Dockerfile东西。这个东西是什么呢?我在这里也不想介绍。还是自己去百度看看把。

进入到上传.net core程序的目录。

输入命令

 vi Dockerfile

没有后缀,大小写一直

输入或者粘贴一下文本

FROM microsoft/dotnet:latest

COPY . /app

WORKDIR /app

EXPOSE 

ENTRYPOINT ["dotnet", "WebApplication4.dll"]

下面说一下我遇到的坑。

首先copy 后面一个 点,代表当前存放我们的程序的dll文件的目录。 后面/app是把当前目录重的文件拷贝到docker容器之中的那个目录。这个目录要与上面的WOKDIR 目录一致。

EXPOSE用来指定端口,使容器内的应用可以通过端口和外界交互。

ENTRYPOINT 进入容器执行程序的命令。

第五步打包镜像

输入命令

docker build -t 你给这个镜像取个名字 .

然会就会执行成功。

第六步启动镜像

输入一下命令来启动我们刚才打包的镜像

docker run --name 容器名称 -p 5000:80  -d 镜像名称或者镜像id

然后使用

docker ps 

命令,来查看,我们的镜像是否启动成功。

如果启动不成功,你需要输入一下命令

docker logs 容器名称

来查看日志。

在说下我遇到的几个重点把。如果你看过doker run 的命令 你会发现 -p 要制定端口, 可是我们有在Dockerfile中写了程序通信的端口啊?

答:如果你用我上面的那个run的命令,你Dockerfile中写的EXPOSE  就不会其作用了。会强制使用 -p绑定的端口。

第七步使用Nginx来转发我们的请求到容器

如何在centos 安装nginx 在不说了,百度解决

找到nginx目录。在centos上面nginx安装默认目录都是 /etc/nginx

在nginx目录找到默认的配置文件。根据Nginx版本的不同,。默认文件的目录也不同.

自己找找.

找到的话,把里面 servier节点里面的所有内容注释了。

新建一个netcore.conf的配置文件

赋值粘贴一下内容

server {
listen ;
location / {
proxy_pass http://127.0.0.1:5001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}

把里面的 地址改成你自己的端口。 如果访问的话初选502。百度linux关闭selinux。

使用docker来部署asp.net core的程序的更多相关文章

  1. 使用Docker部署ASP.NET Core应用程序实践

    前言 最近把很火的Docker给看了,于是就磨拳擦掌要去实践一下.于是就拿之前一个aps.net core的项目(已被停止)去练手.该项目之前在ubuntu14.04上确保可以正常运行,所以docke ...

  2. CentOS 7部署ASP.NET Core应用程序

    看了几篇大牛写的关于Linux部署ASP.NET Core程序的文章,今天来实战演练一下.2017年最后一个工作日,提前预祝大家伙元旦快乐.不扯淡,直接进入正题.您有任何问题请在评论区留言. 1.环境 ...

  3. 【转载】CentOS 7部署ASP.NET Core应用程序

    看了几篇大牛写的关于Linux部署ASP.NET Core程序的文章,今天来实战演练一下.2017年最后一个工作日,提前预祝大家伙元旦快乐.不扯淡,直接进入正题.您有任何问题请在评论区留言. 1.环境 ...

  4. 【转】CentOS 7部署ASP.NET Core应用程序

    很早就看过关于net core部署在Linux上的文章,自己也曾亲自将项目部署在Linux上,今天看到这篇文章,为其格式之工整而转! 1.环境准备 网上看了一下,Linux云服务器还挺贵的,那就只好先 ...

  5. 【详细】【转】CentOS 7部署ASP.NET Core应用程序

    很早就看过关于net core部署在Linux上的文章,自己也曾亲自将项目部署在Linux上,今天看到这篇文章,为其格式之工整而转! 1.环境准备 网上看了一下,Linux云服务器还挺贵的,那就只好先 ...

  6. 部署ASP.NET Core应用程序在CentOS 7

    CentOS 7部署ASP.NET Core应用程序 看了几篇大牛写的关于Linux部署ASP.NET Core程序的文章,今天来实战演练一下.2017年最后一个工作日,提前预祝大家伙元旦快乐.不扯淡 ...

  7. CentOS 7 部署 ASP.NET Core 应用程序

    原文:CentOS 7 部署 ASP.NET Core 应用程序 看了几篇大牛写的关于 Linux 部署 ASP.NET Core 程序的文章,今天来实战演练一下.2017年最后一个工作日,提前预祝大 ...

  8. Centos8 Docker+Nginx部署Asp.Net Core Nginx正向代理与反向代理 负载均衡实现无状态更新

    首先了解Nginx 相关介绍(正向代理和反向代理区别) 所谓代理就是一个代表.一个渠道: 此时就涉及到两个角色,一个是被代理角色,一个是目标角色,被代理角色通过这个代理访问目标角色完成一些任务的过程称 ...

  9. Linux CentOS7部署ASP.NET Core应用程序,并配置Nginx反向代理服务器

    前言: 本篇文章主要讲解的是如何在Linux CentOS7操作系统搭建.NET Core运行环境并发布ASP.NET Core应用程序,以及配置Nginx反向代理服务器.因为公司的项目一直都是托管在 ...

随机推荐

  1. 8.String to Integer (atoi) (INT; Overflow)

    Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. ...

  2. Appium原理初步--Android自动化测试学习历程

    章节:自动化基础篇——Appium原理初步(第七讲) 本期关键词: Appium.跨语言跨平台.Bootstrap 主要讲解内容及笔记: 一.what is appium 一种封装了uiautomat ...

  3. tortoise svn 请求的名称有效,但是找不到请求的类型的数据

    可能是博客园出bug了,现在无法放图,间断重复刷新十多次依然如故,弃之 这个问题是在安装完svn服务器(visual svn)后复制url,tortoise svn import 粘贴url后 出现的 ...

  4. 禁用xampp的ssl功能

    按照Disable SSL on XAMPP for Windows文章里讲解的步骤如下: 1 以管理员身份启动XAMPP控制面板,点击Config按钮打开httpd.conf 分别注释171,539 ...

  5. Ubuntu12.04添加环境变量

    环境变量分为系统级和用户级. 系统级变量设置环境为/etc/environment和/etc/profile等,不要轻易修改,否则可能造成系统错误. 用户级变量设置路径为-/.bashrc和~/.pr ...

  6. HDOJ1242 Rescue(营救) 搜索

    Rescue Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  7. 通过BeanShell获取UUID并将参数传递给Jmeter

    有些HTTPS请求报文的报文体中包含由客户端生成的UUID,在用Jmeter做接口自动化测试的时候,因为越过了客户端,直接向服务器端发送报文,所以,需要在Jmeter中通过beanshell获取UUI ...

  8. springmvc cfx 整合

    1.先看一下目录列表,本人用的是eclipse 2.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xm ...

  9. 前端之JavaScript笔记1

    一 JavaScript的引入方式 <!DOCTYPE html> <html lang="en"> <head> <meta chars ...

  10. 使用Java实现网络爬虫

    网络爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本. 另外一些不常使用的名字还有蚂蚁.自动索引.模 ...