使用docker来部署asp.net core的程序
使用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的程序的更多相关文章
- 使用Docker部署ASP.NET Core应用程序实践
前言 最近把很火的Docker给看了,于是就磨拳擦掌要去实践一下.于是就拿之前一个aps.net core的项目(已被停止)去练手.该项目之前在ubuntu14.04上确保可以正常运行,所以docke ...
- CentOS 7部署ASP.NET Core应用程序
看了几篇大牛写的关于Linux部署ASP.NET Core程序的文章,今天来实战演练一下.2017年最后一个工作日,提前预祝大家伙元旦快乐.不扯淡,直接进入正题.您有任何问题请在评论区留言. 1.环境 ...
- 【转载】CentOS 7部署ASP.NET Core应用程序
看了几篇大牛写的关于Linux部署ASP.NET Core程序的文章,今天来实战演练一下.2017年最后一个工作日,提前预祝大家伙元旦快乐.不扯淡,直接进入正题.您有任何问题请在评论区留言. 1.环境 ...
- 【转】CentOS 7部署ASP.NET Core应用程序
很早就看过关于net core部署在Linux上的文章,自己也曾亲自将项目部署在Linux上,今天看到这篇文章,为其格式之工整而转! 1.环境准备 网上看了一下,Linux云服务器还挺贵的,那就只好先 ...
- 【详细】【转】CentOS 7部署ASP.NET Core应用程序
很早就看过关于net core部署在Linux上的文章,自己也曾亲自将项目部署在Linux上,今天看到这篇文章,为其格式之工整而转! 1.环境准备 网上看了一下,Linux云服务器还挺贵的,那就只好先 ...
- 部署ASP.NET Core应用程序在CentOS 7
CentOS 7部署ASP.NET Core应用程序 看了几篇大牛写的关于Linux部署ASP.NET Core程序的文章,今天来实战演练一下.2017年最后一个工作日,提前预祝大家伙元旦快乐.不扯淡 ...
- CentOS 7 部署 ASP.NET Core 应用程序
原文:CentOS 7 部署 ASP.NET Core 应用程序 看了几篇大牛写的关于 Linux 部署 ASP.NET Core 程序的文章,今天来实战演练一下.2017年最后一个工作日,提前预祝大 ...
- Centos8 Docker+Nginx部署Asp.Net Core Nginx正向代理与反向代理 负载均衡实现无状态更新
首先了解Nginx 相关介绍(正向代理和反向代理区别) 所谓代理就是一个代表.一个渠道: 此时就涉及到两个角色,一个是被代理角色,一个是目标角色,被代理角色通过这个代理访问目标角色完成一些任务的过程称 ...
- Linux CentOS7部署ASP.NET Core应用程序,并配置Nginx反向代理服务器
前言: 本篇文章主要讲解的是如何在Linux CentOS7操作系统搭建.NET Core运行环境并发布ASP.NET Core应用程序,以及配置Nginx反向代理服务器.因为公司的项目一直都是托管在 ...
随机推荐
- tortoise svn 请求的名称有效,但是找不到请求的类型的数据
可能是博客园出bug了,现在无法放图,间断重复刷新十多次依然如故,弃之 这个问题是在安装完svn服务器(visual svn)后复制url,tortoise svn import 粘贴url后 出现的 ...
- [leetcode]523. Continuous Subarray Sum连续子数组和(为K的倍数)
Given a list of non-negative numbers and a target integer k, write a function to check if the array ...
- 使用jdbc编程实现对数据库的操作以及jdbc问题总结
1.创建数据库名为mybatis. 2. 在数据库中建立两张表,user与orders表: (1)user表: (2)orders表: 3.创建工程 * 开发环境: * eclipse mars * ...
- QT中 使用c++调用python
最近在做一个项目,开发环境用的是QT c++.项目中使用amazon云服务,调研发现有一个Amazon云的python接口.就有了标题中的问题,需要用C++来调用python脚本. 下面是一个c++调 ...
- 06 Maven 聚合和继承
Maven 聚合和继承 1. 聚合 2. 继承 <parent> <groupId>org.apache.karaf.demos</groupId> <art ...
- process_进程池
from multiprocessing import Poolimport os,timeimport multiprocessingdef func(msg): print("msg:& ...
- Kendo UI中TreeView 放入tabstrip中,大数据量时超过边框的解决方案。
参考http://www.kendoui.com/forums/ui/tabstrip/tabstip-with-treeview-treeview-breaking-out-of-tabstrip. ...
- 2018.09.22 atcoder Snuke's Coloring 2(线段树+单调栈)
传送门 就是给出一个矩形,上面有一些点,让你找出一个周长最大的矩形,满足没有一个点在矩形中. 这个题很有意思. 考虑到答案一定会穿过中线. 于是我们可以把点分到中线两边. 先想想暴力如何解决. 显然就 ...
- 2018.09.08 NOIP模拟trip(最长链计数)
差不多是原题啊. 求最长链变成了最长链计数,其余没有变化. 这一次考试为了保险起见本蒟蒻还是写了上次没写的辅助数组. 代码: #include<bits/stdc++.h> #define ...
- hdu-1143(简单dp)
题目链接: 思路:利用前一个状态找到本次状态需要的次数,就是递推. 建立一个二维数组dp[i][j] ,i表示行,j表示多余的格子. 可以分为三种状态dp[i][0], dp[i][1] ,dp[i] ...