netcore程序部署到docker

原文:netcore程序部署到docker

1.基础准备

1. ubuntu 18.04

2. docker version 18.09

3. netcore 2.1

2.简介

自从netcore支持跨平台之后,以及现在很多公司都是采用容器化部署,今天在比较空闲的时候学习了一下。

3.使用

3.1 创建netcore 项目  ,选择api程序完成创建

3.2 添加dockerfile

项目右键=》添加=》docker支持,添加成功之后会生成一个dockerfile文件,打开该文件,系统自动生成了一堆代码,但是在发布的时候发现不可用,因此从网上找了下面这种方式进行发布,把dockerfile属性改为始终复制,发布文件的时候直接把dockerfile文件也一块发布,如下图配置的dockerfile文件:

FROM microsoft/dotnet:latest #所需依赖
WORKDIR /web #容器中系统工作空间
#拷贝当前文件夹下的文件到容器中系统的工作空间(注意:“.”后面有空格)
COPY . ./ 

EXPOSE 80   #对外提供的端口号
 EXPOSE 443

#容器中使用 ["dotnet","系统启动的dll"] 来运行应用程序
ENTRYPOINT ["dotnet", "testDocker.dll"]

3.3 发布

跟以往发布net程序一样选择文件系统进行发布:

3.4 安装asp.net core镜像

sudo docker pull microsoft/dotnet

因为我们在dockerfile中要求的from镜像是microsoft/aspnetcore:latest,所以下载的时候我们直接pullmicrosoft/dotnet,如果下载慢的话 可以配置国内镜像站,这里我用的阿里云的镜像

sudo vi /etc/apt/sources.list

镜像下载完成之后输入sudo docker images 检查一下是否下载成功,下图中箭头所指就是我们下载的镜像,到此需要准备工作已经完成。

sudo docker images

3.5 把文件上传到liunx指定文件夹当中

本人所用sudo rz 把文件上传到liunx当中(如果您的linux系统没有安装,在终端输入:

sudo apt-get install lrzsz 进行自动安装),图中所示,刚才所发布的文件,全部上传到了liunx系统上的web文件夹当中

sudo apt-get install lrzsz
sudo rz

3.6 build 镜像

在build的时候注意,命令最后一定要有个".", 并且镜像名称也不允许出现大写,如果想带上版本号的话 可以输入命令:

sudo docker build -t web:v0.1 .

,如果不输入默认显示tag的latest

build之后就可以查看镜像列表:sudo docker images,下图中web  就是我们刚才所生成的镜像文件:

sudo docker images

3.7 运行build的镜像

sudo docker run -d -t -p 5000:80 web  #运行镜像

sudo docker ps  #查看正在运行的容器

sudo docker ps -a #查看所有容器信息


3.8 测试可正常访问

4.小结

在整个发布流程中涉及一些需要提前准备的例如docker环境,linux系统等还请自行配置。

原文地址:https://www.cnblogs.com/lonelyxmas/p/10748667.html

时间: 2024-10-25 20:59:02

netcore程序部署到docker的相关文章

docker多个容器连接 将 Rails 程序部署到 Docker 容器中

在docker中使用MySQL数据库 https://yq.aliyun.com/articles/583765 将 Rails 程序部署到 Docker 容器中 原文地址:https://www.cnblogs.com/znsongshu/p/9746531.html

netcore程序部署及守护

一.程序发布 1.在本机编译无误的情况下,选择发布成文件系统.注意如果使用了swagger 需要将生成的xml文档说明复制到发版包里面.否则会报错. 2.发布完成后,使用cmd进入发布的文件版本包所在路径,执行dotnet 你的应用程序的名称.dll 3.如果执行无误,即可向Linux中部署. 二.程序部署 1.目前Linux系统采用的是centos7版本.分别位于服务器127.0.0.85 和86. 2.使用堡垒机登录后,以85为例, 使用SFTP进行文件上传(winscp). 打开SFTP后

Windows下docker的安装,将ASP.NET Core程序部署在docker中

参考文章: https://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html https://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html docker for windows下载连接: https://docs.docker.com/docker-for-windows/install/ 关于配置的细节以及docker的下载安装等操作,参考文章中已经介绍的

Linux 如何部署安装.NetCore 程序

件准备: XShell:终端模拟器,支持SSH.SFTP.telnet,rlogin和串行.用于window系统远程连接其他不同系统服务器: XFtp:Xftp是一个灵活和轻量级SFTP / FTP客户端用户需要安全地通过网络传输文件.它提供了强大的功能,如直接编辑多个窗格,文件夹同步,他们支持,服务器到服务器转移和第三方编辑器集成. 安装教程:https://blog.csdn.net/HighproX/article/details/51283990 Linux虚拟机或服务器一台: 开始 1

Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践

原文:Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践 环境 本地 win7 服务器:Virtual Box 上的Centos ssh工具: Xshell 文件传输: xftp 1.在本地创建asp.net core应用发布 1.1 使用Vs2017 新建一个asp.netcore项目 步骤略(一路next),当然你也可以用命令行创建. 1.2 发布项目 在项目路径下执行命令 dotnet publish –c release 先本地运行是否有问题,减少因为本

Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)

原文:Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二) Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一) 接上一篇 3. Nginx配置反向代理 3.1 cnetos 安装nginx 首先,我们需要在服务器上安装Nginx.参考网址 3.1.1:添加Nginx存储库 要添加CentOS 7 EPEL仓库,请打开终端并使用以下命令: sudo yum install epel-release EPEL的全称叫 Ex

.netcore项目部署到linux的docker里后,速度异常的慢

.netcore项目部署到linux的docker里后,速度异常的慢,部署在iis下速度非常快. 特别是 接口里再调用其他接口,那速度绝对是蜗牛爬行的速度. 经过几个月的折腾,终于知道是什么问题了: 或者是报这个错误:关于Linux报Resource temporarily unavailable问题解决记录 新建用户Linux系统会限制用户的最大进程数,新用户的进程数限制一般都是在1024或者2048. https://blog.csdn.net/qq_35963057/article/det

.NETCore 实现容器化Docker与私有镜像仓库管理

原文:.NETCore 实现容器化Docker与私有镜像仓库管理 一.Docker介绍 Docker是用Go语言编写基于Linux操作系统的一些特性开发的,其提供了操作系统级别的抽象,是一种容器管理技术,它隔离了应用程序对基础架构(操作系统等)的依赖.相较于虚拟机而言,Docker共享的是宿主机的硬件资源,使用容器来提供独立的运行环境来运行应用.虚拟机则是基于Supervisor(虚拟机管理程序)使用虚拟化技术来提供隔离的虚拟机,在虚拟机的操作系统上提供运行环境!虽然两者都提供了很好的资源隔离,

部署维护docker环境

其实前面已经用salt,安装部署了docker应用环境了,过程中还是遇到了不少问题,所以这里再相对仔细的记录一下,docker手机安装过程应注意的事情 安装过程部分参考了刘天斯大师文档部署 1,安装环境说明 系统环境:centos6.6 服务应用了: haproxy confd etcd docker 主机名 ip 服务角色 dockerha-152 192.168.36.152 haproxy confd dockerEtcd-153 192.168.36.153 etcd dockermai