本文介绍从创建 net6.0 项目运行在 windows 开发环境的 docker 然后正式部署至 liunx 服务器。

1 windows10 安装 docker

  • 下载docker-desktop
  • 双击下载后的文件直接安装一直下一步到安装成功
  • 打开 docker,点击设置找到 Docker Engine 设置国内镜像

国内镜像地址可以在阿里云找到,阿里云镜像加速器登录之后可以看到一个加速地址,复制出来加入设置 docker 的配置就可以



图片里的配置 json 如下:

{ "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "debug": false, "experimental": false, "features": { "buildkit": true }, "insecure-registries": [], "registry-mirrors": [ "加速器地址" ] }

2 用 vs2022 创建一个简单的 net6.0 项目

  • 创建项目的时候选择启用 docker,

创建完之后可以发现项目多了一个 Dockerfile 文件(文件属性改为较新则复制,不然发布之后这个文件不会在目录里),修改文件相关内容如下图,避免运行时出错



图上内容最终结果为:

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base

WORKDIR /app

EXPOSE 3100

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build

WORKDIR /src

COPY . .

ENV ASPNETCORE_URLS=http://+:3100

ENTRYPOINT ["dotnet", "WebApplication1.dll"]

  • 发布项目至文件夹,发布完成之后文件都在bin\Release\net6.0\publish下面
  • 打开命令窗口,切换至发布目录下,执行docker buid生成镜像



    注意最后的空格和点是必须的
  • 执行完之后打开docker界面可以看到生成的镜像如下图:

  • 执行docker run运行镜像



    执行后打开docker界面切到容器运行可以看到运行起来的容器

  • 打开浏览器访问http://127.0.0.1:3100/weatherforecast出现界面结果表示成功,weatherforecast这个表示这个项目的路由如果你的项目是其他路由那就写其他的路由不是固定的

3 将镜像推送至dockerhub

1.打开docker界面登录账号(如果没账号请先注册)

2.要上传至镜像仓库需要打上标签,才可以上传,执行标签命令docker tag 镜像名:版本号 dockerhub注册时候填的ID/镜像名:版本号

3.找到打了标签的镜像push

4.等到进度条走完,可以登录https://hub.docker.com查看提交的镜像

4 使用daocloud集群部署镜像到liunx服务器

1.在liunx服务器安装docker安装资源比较慢所以使用daocloud的加速镜像安装执行以下命令就可以

curl -sSL https://get.daocloud.io/docker | sh

2.登录daocloud添加服务器主机,方法在登录有一串命令复制到服务器执行就可以关联

3.关联之后找到上一步上传的镜像打开镜像进行部署



4.点击部署出现如下界面进行配置



5.部署完之后查看状态是否正常

6.用nginx反向代理绑定域名访问指向这个端口(自行百度如何用nginx)

微服务探索之路01篇.net6.0项目本地win10系统docker到服务器liunx系统docker的贯通的更多相关文章

  1. 微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像

    ❝ 目录: 微服务探索之路01篇.net6.0项目本地win10系统docker到服务器liunx系统docker的贯通 微服务探索之路02篇liunx ubuntu服务器部署k8s(kubernet ...

  2. 微服务探索之路02篇liunx ubuntu服务器部署k8s(kubernetes)-kubernetes/dashboard

    本章介绍所需环境:ubuntu18.04,建立在上一篇微服务探索之路01篇已经安装了docker的基础上. 1 替换k8s镜像源为国内镜像 进入目录 cd /etc/apt/sources.list. ...

  3. 微服务探索之路04篇k8s增加子节点,metrics资源监控,ingress-nginx域名配置及https配置

    1 k8s增加子节点 1.1 子节点服务器安装docker,使用脚本自动安装 curl -fsSL https://get.docker.com | bash -s docker --mirror A ...

  4. Taurus.MVC 微服务框架 入门开发教程:项目部署:1、微服务应用程序常规部署实现多开,节点扩容。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  5. Taurus.MVC 微服务框架 入门开发教程:项目集成:2、客户端:ASP.NET Core(C#)项目集成:应用中心。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  6. Taurus.MVC 微服务框架 入门开发教程:项目部署:6、微服务应用程序Docker部署实现多开。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...

  7. Taurus.MVC 微服务框架 入门开发教程:项目集成:6、微服务间的调用方式:Rpc.StartTaskAsync。

    系统目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...

  8. Taurus.MVC 微服务框架 入门开发教程:项目部署:2、让Kestrel支持绑定多个域名转发,替代Ngnix使用。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  9. Taurus.MVC 微服务框架 入门开发教程:项目部署:3、微服务应用程序版本升级:全站升级和局部模块升级。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

随机推荐

  1. Oracle删除重复数据记录

    删除重复记录,利用ROWID 和MIN(或MAX)函数, ROWID在整个数据库中是唯一的,由Oracle自己产生和维护,并唯一标识一行(无论该表中是否有主键和唯一性约束),ROWID确定了每条记录在 ...

  2. SpringCloud微服务服务间调用之OpenFeign介绍

    开发微服务,免不了需要服务间调用.Spring Cloud框架提供了RestTemplate和FeignClient两个方式完成服务间调用,本文简要介绍如何使用OpenFeign完成服务间调用. Op ...

  3. centos7.4 64位安装 git

    参考博客:Linux Jenkins配置Git 1. git --version 查看有没有安装 过 git,没有则 继续 2. git 压缩包下载地址:https://mirrors.edge.ke ...

  4. 【Linux】【Basis】【RHEL】KickStart for RHEL6.8

    1. 概念: 自动安装的脚本,这篇文章以RHEL6.8为例 kickstart for RHEL6.8官方教程:https://access.redhat.com/documentation/en-U ...

  5. Java知识点总结——IO流框架

    IO框架 一.流的概念 概念:内存与存储设备之间传输数据的通道. 二.流的分类 按方向分类: 输入流:将<存储设备>中的内容读入到<内存>中 输出流:将<内存>中的 ...

  6. Jenkins触发构建

    目录 一.简介 二.时间触发 定时触发 轮询代码仓库 三.事件触发 由上游任务触发 gitlab通知触发 四.通用触发接口 GWT 提取参数 触发某个具体项目 过滤请求值 控制打印内容 控制响应 一. ...

  7. net start Mysql 启动服务时 ,显示"Mysql服务正在启动 Mysql服务无法启动 服务没有报告任何错误

    一.问题 有时候,输入net start Mysql 启动服务时 mysql>net start Mysql 显示 Mysql服务正在启动 Mysql服务无法启动 服务没有报告任何错误 二.原因 ...

  8. [BUUCTF]REVERSE——刮开有奖

    刮开有奖 附件 步骤: 例行检查,无壳,32位程序 32位ida载入,shift+f12检索程序里的字符串,看到了一个base64加密的特征字符串,猜想这题用到了base64加密 从main函数开始看 ...

  9. LocalDate转换成Date

    LocalDate nowLocalDate = LocalDate.now(); Date date = Date.from(nowLocalDate.atStartOfDay(ZoneOffset ...

  10. JS设置网站所有字体变为繁体字

    引入chinese.js var zh_default='n';var zh_choose='t';var zh_expires=7;var zh_class='zh_click';var zh_st ...