Docker发布.net core

Docker发布.net core

一、什么是docker?

  1. docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。简言之,就是可以在Linux上镜像使用的这么一个容器。

  2. 镜像:镜像就相当于打包然后将要发布的文件,可以是多个。

  3. 容器:容器就相当于是iis中已经部署的项目,然后我们可以根据镜像(打包发布的文件),去配置不同的端口号,然后成功以后的东西,就是一个镜像文件。

二、如何在docker 中部署.net core

  1. 首先创建一个.net core api项目(DockerTest),并且添加dockerfiles文件,其实不用添加,只需要直接勾选docker就可以了,并且选择在Linux中执行就行。

  1.1相关dockerfile文件中的内容如下:

FROM mcr.microsoft.com/dotnet/core/aspnet:2.1
WORKDIR /app
EXPOSE 5000
# 一般情况下必须开放
EXPOSE 80
# 如果使用https,记得打开443端口,但是一般不用
#EXPOSE 443
 
COPY publish/ /app
ENTRYPOINT ["dotnet", "DockerTest.dll"]

 

 

 

  2. 如何制作镜像:

 

docker build -t asptest .   

 

  3. 如何制作容器

docker run -d -p 8001:80 asptest

  4. docker访问如下

  http://localhost:8000/api/values

 

三、

第一种方式 上传所有的文件

1.把当前项目所有内容通过XFTP存放到linux相应目录

2.#切换到上传的文件目录下 执行

docker build -t coremvc . 【coremvc 为项目名称】

docker run --name netcore-mvc -d -p 8080:80 coremvc

 

第二种通过发布包部署

 

 

关闭当前防火墙

systemctl stop firewalld

开机防火墙不启动

systemctl disable  firewalld

 

 

#如果需要和nginx 一起实现负载均衡,则需要创建网卡,实现互通

docker network create --driver bridge --subnet 192.37.0.0/16 --gateway 192.37.0.1  corenet

 

 

#根据发布的包运行docker  存放到 根目录public

 

docker pull mcr.microsoft.com/dotnet/core/aspnet:latest  

 

把我们自己项目的发布包,放到linux系统上面的public

 

看老师提供的文本文件

 

Nginx

 

#1.下载最新版本的镜像

docker pull nginx:latest

#2.先把nginx.conf 文件复制到linux下面的home/ config下面 ,这样启动才可以根据配置

#3.运行安装文件启动

docker run -d -p 8090:80 --net corenet -v /home/config/:/var/log/nginx/ -v /home/config/nginx.conf:/etc/nginx/nginx.conf:ro --name nginx  nginx

 

 

posted @ 2020-11-29 23:33  锦大大的博客呀!  阅读(566)  评论(0编辑  收藏  举报