本文介绍从创建 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. Linux服务器---drupal

    Drupal Drupal为用户提供各种工具来管理网站,它可以帮助用户入门,建立自己的网站 1.下载drupal软件(https://www.drupal.org/project/drupal/rel ...

  2. 【Java基础】Java反射——Private Fields and Methods

    Despite the common belief it is actually possible to access private fields and methods of other clas ...

  3. BS版本的TCP程序

    // 使用Socket对象中的方法getInputStream,获取到网络字节输入流InputStream对象 InputStream is = socket.getInputStream();// ...

  4. ctypes与numpy.ctypeslib的使用

    numpy ctypeslib 与 ctypes接口使用说明 作者:elfin 目录 一.numpy.ctypeslib使用说明 1.1 准备好一个C++计算文件 1.2 ctypeslib主要的五个 ...

  5. Java 多线程的一次整理

    一天没有出过家门,实属无聊,没事瞎写写 1. 基本概念 1.1 多进程和多线程的概念 程序是由指令和数据组成,指令要运行,数据要加载,指令被 CPU 加载运行,数据被加载到内存,指令运行时可由 CPU ...

  6. UVA11951 Area 题解

    Content 小 S 想买下一块地.他所在的城市可以看成一个 \(n\times m\) 的网格,要购买所处在 \((i,j)\) 的网格需要缴税 \(c_{i,j}\) 元,如果一块地里面有多个网 ...

  7. k8s daemonset controller源码分析

    daemonset controller分析 daemonset controller简介 daemonset controller是kube-controller-manager组件中众多控制器中的 ...

  8. curl英文直译

    文档概述 比较表 curl手册页 常见问题 HTTP脚本编写 mk-ca-bundle 教程 curl / 文件 / 工具文档 /手册页 curl.1手册页 相关: 手动 常见问题解答 HTTP脚本 ...

  9. uniapp框架如何实现仿微信相册:图视频过滤、相册选择功能

    今天我们分享基于uniapp + vue实现仿微信相册插件实例,该插件完全还原了微信相册的功能 1: 相册选择 2: 图片,视频类型过滤 3: 自定义相册界面UI 技术实现 开发环境:Hbuilder ...

  10. JAVA中BufferedImage与byte[]转换

    BufferedImage转byte[] ByteArrayOutputStream out = new ByteArrayOutputStream(); ImageIO.write(imgBuff, ...