NetCore 2.0 应用程序在centos 7上经过docker发布

一  安装netcore 2.0 SDKlinux

在centos 上面安装netcore 2.0 与window上面是不太同样的,注意,linux是不支持同时安装两个版本的.netcore SDK的,因为我以前开发过netcore 1.04 的,如今须要升级到2.0的SDKdocker

那如何升级。json

1.找到当前的安装路径:centos

2.安装.netcore 2.0bash

在这边找到你要安装的对应的包:https://www.microsoft.com/net/download/linux测试

 

 打开  yum instructions 连接:ui

我选择不升级内核,直接安装sdk  因此只须要执行框中的两行命令spa

安装完后,咱们会发现:netcore 2.0 sdk 安装在usr/share/dotnet/dotnet.net

建立软连接:3d

若是以前存在,那么能够执行   ln  -s -f    souredir  lindir

再次检查dotnet 版本:

好了,版本是咱们要的版本了。

二  测试本机发布

上传dotnet publish后的发布文件到centos中,可使用

 

 

测试本机发布:dotnet  UIclub.Web.dll

我这里是因为程序已经发布到docker中跑起来了,占用的端口的缘由

三 安装DOCKER

 #安装Docker

yum  install  docker
#启动docker服务
systemctl  start docker.service
#配置开机启动
systemctl   enable  docker.service

配置docker加速

配置docker加速最快的方法直接修改/etc/docker/daemon.json下的配置信息

/etc/docker/daemon .json
{
  "registry-mirrors" : [ "https://d8b3zdiw.mirror.aliyuncs.com" ]
}
而后在终端重启docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker

四 发布程序到docker中

 1.拉取发布的基本镜像

docker pull docker.io/microsoft/dotnet:[tag]   拉取最新的镜像,若是你是要旧版本的镜像,能够填写相应的tag

docker images 

2.配置Dockerfile

按esc  :wq保存退出

docker build -t  demo:1.0  .   -->注意:最后有个点  表示当前路径

docker run -d -p 8000:8000  demo:1.0  运行容器

查看运行的容器,正常跑起来的时候应该有一个正在运行的容器

docker ps

 

 五.测试

至此,发布成功。

 

补充:

项目后期发布后遇到一个附件上传的问题,好比,建立容器后,附件是以前传到容器中的某个目录的,可是这样就会致使万一容器销毁或者机器重启后,上传的文件都丢失的问题,那么就须要解决这个问题

docker volume 技术就须要用上了,能过阅读了Docker的官方开发文档后了解到【https://docs.docker.com/engine/admin/volumes/volumes/】能够挂载相应的主机host目录到容器某个目录下,实现 所谓的容器与主机文件的读写共享。

1.直接经过DockerFile来配置挂载点,经过这种方式实现的时候,不能直接指定具体的主机挂载目录,docker会自动生成一个文件夹的映射目录,这个不推荐

2.docker run -d -p 8000/8000  -v  /test:/publish/wwwroot/upload  demo:1.0   来实现 【注意,Docker 实际上是一个微的VM,要特别注意这里的 -v 后面的路径,不然指不到正确的目录】

相关文章
相关标签/搜索