首页 > 编程语言 >.NetCore6程序部署到Docker上

.NetCore6程序部署到Docker上

时间:2023-02-17 15:58:57浏览次数:53  
标签:部署 windows 端口号 linux Docker swagger docker NetCore6

使用Docker部署应用程序

首先确保已经安装Docker 桌面软件,如下图:

 

然后,把需要部署到Docker上面的项目,咱们先添加Docker的支持,启动项目右键 -> 添加 -> Docker支持,选择 Linux

 

 

 

 

然后会自动生成Dockerfile文件,在里面可以看见Docker有关的配置信息。

 

 

我们需要对Dockerfile的配置文件做一些更改:

 

 

 

然后修改dockerfile文件的属性:

 

 

在启动项目的Properties下,修改launchSetting.Json启动项的配置文件,把默认启动的端口号也改成和docker默认的端口号一样的:

 

 

接着,在Program下面,CreateHostBuilder里面绑定指定的端口号:

 

 

 

然后,在Startup里面,Configure下面需要做点修改:swagger默认是写在 if (env.IsDevelopment())判断语句里面的,代表使用编译器启动,才会进来。我们把swagger有关的写到外面去,不然发布以后,可能会看不到swagger的页面:

 

 

 

一切准备就绪,我们准备发布一下:

项目右键,选择发布,选择发布到本地文件夹:

 

随便先自定义一个文件夹,例如我存放在D盘的Wsk_Publish下面:

 

 

对发布的一些选项进行更改,把删除现有文件的选项设为 True:

 

 

然后,右上角点击发布,发布成功即可:

 

 

下面是把发布的程序部署到docker上的关键操作了。按住windows按键+X,使用管理员权限启动 power shell,然后定位到发布的程序的根目录下:

 

 

然后,使用   docker build -t 镜像别名(例如我起个别名,叫wesky) .

注意最后面需要加空格,然后一个点

然后就会自动下载有关的一些资源。为了看清文字,我调了下背景色,以及执行效果如下:

 

由于使用的是默认的,所以可能拉取资源会比较慢,也可以在Dockerfile配置文件把默认使用microsoft的地址改为其他的地址,这里不提供该方面的镜像地址,因为我都是用原生的。

等待一段时间,都拉取好了以后,我们打开docker客户端,可以看见镜像已经安装好了:

 

 

我们现在用命令来启动它: docker run -d -p 35678:35678 --name wesky wesky

命令说明,见图中说明。

 

运行成功,会显示出一串16进制字符串,代表OK了。这个时候,切换回docker客户端,可以看见程序正在运行:

 

 

点击正在运行的镜像,就可以打开一些监控页面,包括日志、资源占用等信息:

 

 

 

功能按钮信息,待自己去发现。

现在,我们试试在本机上打开swagger,并执行之前的api进行打印一串符号。地址是本机ip+设置的端口号:

 

 

可以打开页面,并且测试成功,到此部署程序到docker圆满结束,撒花~~

 

备注:如果发现docker无法使用,请确认是否开启系统虚拟化,怎么开启在该系列的第一篇文章有教程。如果虚拟化已启动,就看看docker当前是linux还是windows容器。我这边使用的是linux容器,如果你是windows容器需要切换Linux,需要在电脑桌面docker图标右键,选择 switch to linux container……,如果显示的是 switch to windows container…… 就代表你已经使用的是linux容器了。

标签:部署,windows,端口号,linux,Docker,swagger,docker,NetCore6
From: https://www.cnblogs.com/weihengblogs/p/17130430.html

相关文章

  • docker容器之dockerfile&docker-compose CMD/entrypoint详解
    docker容器之dockerfile&docker-composeCMD/entrypoint详解本文目录 [隐藏]I.CMDII.ENTRYPOINTIII.示例ENTRYPOINTCMD/command此前的RUN和CMD,我......
  • 使用Github Actions构建、发布和部署NuGet软件包
    介绍在DevOps的现代时代,自动化已变得越来越流行,而创建/上传软件包已成为过去。而且,软件包的数量在开发人员的生活中日益增加。因此,在NuGet.org上手动构建、发布和部署所有......
  • 将 ASP.Net Core WebApi 应用打包至 Docker 镜像
    将ASP.NetCoreWebApi应用打包至Docker镜像运行环境为Windows10专业版21H1,DockerDesktop3.6.0(67351),DockerEngine20.10.81.ASP.NetCoreRuntime......
  • rk3588使用NPU部署 wespeaker声纹模型
    1.wespeaker导出onnx模型时,需要使用静态模型导出。因为RKNN不支持动态推理。  wespeaker/bin/export_onnx.py修改如下,注释掉动态轴dynamic_axes  关于onxx静态和......
  • mysql8 docker 安装
    1.镜像下载dockerpullmysql:8.0.212.创建目录创建data,conf等目录,用于保存mysql的数据3.启动镜像dockerrun-it-d--namemysql--net=host\-v/var/appl......
  • docker desktop 转圈圈 一直启动中或者一直停止中
    dockerdesktop,右键点击setting,界面打开后一直转圈圈问题1、打开运行,在空框中输入powershell并点击确定:2、在PowerShell中输入: dockerimages报错errorduringc......
  • 前端重新部署如何通知用户刷新网页
    1.目标场景有时候上完线,用户还停留在老的页面,用户不知道网页重新部署了,跳转页面的时候有时候js连接hash变了导致报错跳不过去,并且用户体验不到新功能。2.思考解决方......
  • .Net Core 部署IIS,最细步骤
    先基本的发布操作:右击web项目的《发布》按钮。选文件配置发布属性部署模式,如果框架依赖部署不行,可以尝试:独立服务器安装环境对应的.NETCoreServer环境:安......
  • docker目录迁移流程
      概述在安装测试最新版本的HOMER7的过程中,docker作为基础工具碰到一些问题,针对问题进行总结。docker的默认工作目录在/var目录,而在我们的环境中,/var目录空间预留不......
  • docker入门
    一、简介1.docker简介正常部署一个项目环境配置相当麻烦,jdk、mysql、redis等,比如换一台服务器需要重新配置可以利用docker的可移植性,将环境一模一样的复制Docker的出......