初次把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://juejin.im/post/5cac1771e51d456e3428c0b6

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值