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系统等还请自行配置。
上一篇: java DES转C#DES加密解密
推荐阅读
-
.netcore 使用surging框架发布到docker
-
.net 4.5部署到docker容器的完整步骤
-
使用docker -v 和 Publish over SSH插件实现war包自动部署到docker的操作步骤
-
Mac下部署springBoot项目到Docker中(demo)
-
在docker中部署tomcat并且部署java应用程序的步骤详解
-
NetCore的Docker部署
-
[笔记]使用Docker部署.NET Core应用程序
-
ASP.NET Core Web 应用程序开发期间部署到IIS自定义主机域名并附加到进程调试
-
Docker Compose部署项目到容器-基于Tomcat和mysql的商城项目(附源码和sql下载)
-
基于idea把springboot项目部署到docker