使用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. Oracle数据库迁移的几种方式

    面试: 一.exp/imp逻辑备份与恢复: 二.Storage存储迁移: 将数据文件.控制文件.日志文件.spfile挂到新机器上,然后在新机器上启动数据库. 三.利用data guard迁移: 四. ...

  2. Ubuntu --- not enough free disk space

    Ubuntu系统更新时出现not enough free disk space. 原因是系统的就内核占满了/boot 的空间,只要将旧内核删除就ok了 首先,命令 uname -r  查看当前内核,( ...

  3. 屏幕录像专家exe视频批量翻录成视频avi格式

    笔者下载过一些视频,全部是屏幕录像专家录制的exe视频,这些视频没有密码,可以顺利打开看看. 有一日想把这些视频转换成wmv格式放到手机上查看.一个目录下有那么大exe视频.一个个转特别麻烦. 后来想 ...

  4. DB2与oracle类型对比

    本文摘自http://www.cnblogs.com/cy163/archive/2010/11/17/1880280.html 做过DB2数据库应用迁移的工程师,了解IBM MTK工具在迁移过程中所 ...

  5. wcf服务契约的重载

    a. 服务端 .服务端 契约用OperationContract的Name实现重载 using System; using System.Collections.Generic; using Syst ...

  6. shiro + struts2 在action 中使用 shiro 注解 @requiresPermissions 报错: 方法找不到,类初始失败

    06:36:34,405 ERROR http-8084-2 dispatcher.Dispatcher:38 - Exception occurred during processing reque ...

  7. 关于对象的 width offsetwidth availWidth scrollHeight

    别人总结的.自己记不住,所以留着 了 offsetWidth 包含了对象的边线的宽度width 若你不在html 代码里明确指定这个值,那它的返回值会不一样,如果设置了width 则一样. widht ...

  8. smrtlink

    SMRT Link is the web-based end-to-end workflow manager for the Sequel™ System. It includes software ...

  9. 【DBCP】DBCP基本配置和重连配置+spring中配置

    最近在看一些dbcp的相关内容,顺便做一下记录,免得自己给忘记了.   1. 引入dbcp (选择1.4) <dependency> <groupId>com.alibaba. ...

  10. const当做标记的函数重载,但是仅仅是限于类里面的成员函数

    (1)我们知道函数的重载时根据函数的参数类型以及函数参数个数来重载的,不能用函数返回值来重载函数.但是有时候函数参数个数和函数参数类型重载函数会和默认参数发生冲突: int fun(int i,cha ...