Net core 2.x - docker(for windows)-linux配置及项目发布

将.net core2.x+sqlserver项目发布到docker.呵呵,操作很自如,如下.

1.罗嗦几句

在跑起来之前浪费了不少时间和精力,起初是将docker for windows的环境转换成了 window(安装docker for windows之后,右下角的小鲸鱼右击之后转换),但是很操蛋,也做了随笔但是没有发布之保存了草稿,记录了很多的问题以及问题的解决方式,浪费了一天时间.跑起来之后感觉幸福来之不易所以拿出来分享下.下面看我们的效果图;

 

2.效果预览

Net core 2.x - docker(for windows)-linux配置及项目发布

...其他内容

Net core 2.x - docker(for windows)-linux配置及项目发布

可以看到我们的项目成功跑起来并完成了在sql server数据库的迁移操作.

我们看下我们的项目是否可以正常访问,(我这里映射的docker expose端口60000到外部端口 8089)

Net core 2.x - docker(for windows)-linux配置及项目发布

毫无悬念的可以访问到我们的界面了.和前几篇写的随笔的时候 熟悉的界面又回来了.下面就说下配置以及操作.

 3.环境及配置 3.1环境

我们要将项目发布到docker,那么我们首要解决的就是docker的获取,是的,我们也就是用我们惯用的windwos环境,安装docker for widnows,

获取: https://www.docker.com/products/docker-desktop

选取您需要的版本即可.安装直接下一步下一步就行,安装完成之后,我们要看下我们的容器是windows还是linux,因为这里我们使用的是 linux container ,查看如下:

Net core 2.x - docker(for windows)-linux配置及项目发布

然后我们点击settings->Shared Drives,选择你要和docker 共享的磁盘,然后点击Advanced 分配你的CPU和内存即可,参考如下,,,我是默认的:

Net core 2.x - docker(for windows)-linux配置及项目发布

好的,docker我们就简单的配置完了.下面,就到了重要环节了,此时如果你看过其他的入门的文章的话,你可能绝的下一步骤就是创建项目 直接丢docker就可以泡起来了,或者,顶多在创建一个Dockerfile就行了.我告诉你,低俗....你被骗了,单纯跑一个项目是没任何问题的,但是我们还要连接数据库(sql server),还要连接redis,mongodb,,,等等...所以,这里还没有配置完.要做的还不少呢.

 3.2配置

首先先确保我们的docker环境是有效的,可以在cmd或者powershell中输入docker info,如果不提示docker无效即可.不多说.

下面我们先获取下发布必须的相关镜像 (复制到cmd或者powershell直接回撤),,,当然这一步不是必需的,因为我们一会儿在build我们项目对应的镜像的时候使用到的 相关镜像会自己下载安装:

docker pull microsoft/dotnet

docker pull microsoft/mssql-server-linux

Net core 2.x - docker(for windows)-linux配置及项目发布

将我们的core项目发布文件复制到指定的文件夹,并cd到这个 文件夹中 ,在其中创建一个 Dockerfile的文件,无后缀!!,内容如下(参考):

# 基于microsoft/dotnet:2.1-sdk or dotnet:latest 默认latest 来创建我们的镜像 FROM microsoft/dotnet #指定docker的工作目录为 esoftor-master文件夹,也就是容器的默认的文件夹 WORKDIR /usr/local/src/esoftor-api-master # docker对外暴露的端口 EXPOSE 60000 # 将当前文件夹下的所有文件全部复制到工作目录 COPY . /usr/local/src/esoftor-api-master #CMD dotnet ESoftor.WebApi.dll 这里自行百度 CMD和ENTRYPOINT的区别 ENTRYPOINT ["dotnet", "ESoftor.WebApi.dll"]

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpgdzf.html