当前位置: 首页 > news >正文

做茶叶网站山东省建设职业教育集团网站

做茶叶网站,山东省建设职业教育集团网站,服务器搭建网站空间,wordpress 共存在 dotnet runtime 的容器中安装 dotnet global toolIntro.NET Core 从 2.1 开始支持 Global tool, 借助 global tool 我们可以通过命令行来实现很多功能#xff0c;微软提供的一系列的 dotnet 诊断工具也都提供了 global tool#xff0c;我们可以通过 global tool 比较方便的… 在 dotnet runtime 的容器中安装 dotnet global toolIntro.NET Core 从 2.1 开始支持 Global tool, 借助 global tool 我们可以通过命令行来实现很多功能微软提供的一系列的 dotnet 诊断工具也都提供了 global tool我们可以通过 global tool 比较方便的进行使用但是 global tool 默认是只能装了 SDK 之后才能装在实际的生产环境我们一般都是使用只包含 runtime 的 docker 镜像没有 SDK 就不能直接安装 global tool那我们要怎么做才能在只有 runtime 的 docker 镜像中使用 global tool 呢且看下面的介绍Global tooldotnet global tool 是框架依赖发布的所以是需要依赖运行时的如果 dotnet tool 依赖的运行时找不到的时候会尝试使用高版本的 runtime遵循前滚(roll-forward)规则应用程序前滚至指定的主要版本和次要版本的最高修补程序版本。如果主要版本号和次要版本号没有匹配的运行时则使用下一个较高的次要版本。前滚不会发生在 runtime 的预览版本也不会发生在预览版和正式版之间。因此使用预览版创建的 .NET  global tool 必须由作者重新生成和重新发布再重新安装。在下面两种常见的场景下默认不会发生 roll-forward :只有低版本运行时可用时roll-forward 只会选择之后的版本低版本不会被选择只有更高的主要版本运行时可用时roll-forward 默认不会跨越主要版本的边界主要版本发生变化有些 API 可能会有不兼容的变更如果找不到一个合适的 runtime 版本会运行失败并抛出错误信息。我们可以通过 dotnet --info 或者 dotnet --list-runtimes 来查看已有的 runtime 信息Install dotnet global tool通过 dotnet tool install --global dotnet-dump 我们就可以安装 dotnet-dump 这个 global tool 了但是就像前面提到的我们必须要安装 SDK 才能安装 global tool但是其实 global tool 运行的时候只依赖于 runtime这就有点“悖论”了明明我只需要 Runtime 就可以运行的但是要安装 SDK 才能安装在 Github 上提了一个 issue有需要的可以关注一下https://github.com/dotnet/sdk/issues/18168在网上 Google 之后就会发现有一些解决方案大体上分为两类一种是直接安装 SDK 或使用 SDK 的环境第二种则是在 SDK 的环境下安装 global tool装好之后把 global tool 拷贝到只有 runtime 的环境中Docker practice在 docker 环境中我们可以结合默认的多阶段构建的方案在 build 镜像中安装 dotnet global tool在最后拷贝发布内容的时候同时也拷贝 dotnet global toolDockerfile 示例如下FROM mcr.microsoft.com/dotnet/sdk:5.0-alpine AS build-env WORKDIR /app# install dotnet tool RUN dotnet tool install --global dotnet-dumpCOPY SparkTodo.Shared/SparkTodo.Shared.csproj SparkTodo.Shared/ COPY SparkTodo.API/SparkTodo.API.csproj SparkTodo.API/ RUN dotnet restore SparkTodo.API/SparkTodo.API.csproj# copy everything and build COPY . .WORKDIR /app/SparkTodo.API RUN dotnet publish -c Release -o out# build runtime image FROM mcr.microsoft.com/dotnet/aspnet:5.0-alpine LABEL MaintainerWeihanLi WORKDIR /app COPY --frombuild-env /app/SparkTodo.API/out . COPY --frombuild-env /root/.dotnet/tools /root/.dotnet/tools ENV PATH/root/.dotnet/tools:${PATH} EXPOSE 80 ENTRYPOINT [dotnet, SparkTodo.API.dll] 通过多阶段构建的方式我们可以避免直接使用特别大的 SDK 镜像通过这种方式安装 dotnet tool 镜像只会增加几十M的大小我装了一个 dotnet-dump具体还是要看 dotnet tool 的大小通过 docker run --rm --name sparktodo sparktodo-api 运行一个容器然后通过 docker exec -it sparktodo sh 进入到容器内部然后就可以测试我们安装的 dotnet global tool 了可以看到我们安装的 dotnet global tool 已经可以正常使用了More我们在 Dockerfile 里安装了 dotnet global tool 并使用了默认的 dotnet tool 的路径并配置了环境变量以便于可以直接使用 dotnet global tool如果需要也可以配置 dotnet tool 的安装路径通过 dotnet tool install --global dotnet-dump --tool-path /usr/bin 来指定自定义的路径Referenceshttps://docs.microsoft.com/en-us/dotnet/core/tools/global-toolshttps://docs.microsoft.com/en-us/dotnet/core/tools/troubleshoot-usage-issueshttps://docs.microsoft.com/en-us/dotnet/core/deploying/#publish-framework-dependenthttps://andrewlock.net/running-net-core-global-tools-in-non-sdk-docker-images/https://github.com/dotnet/sdk/issues/18168https://github.com/WeihanLi/SparkTodo/blob/master/Dockerfile
http://wiki.neutronadmin.com/news/325111/

相关文章:

  • wordpress 导航站模板下载郑州网站zhi zuo
  • 网站建设门店牌子自己做网站卖
  • 视频网站怎么做统计表免费网站一级域名注册
  • 怎样做多商户网站哪里网站建设专业
  • 织梦网站地图模板修改企业营销策划方案范文
  • 南通seo网站推广费用芜湖建设网站公司
  • 怎么在悉尼做网站建网站中企动力推荐
  • 上海中高端网站建设石家庄营销网站建设
  • wordpress站点网址企业信用公示信息网官网贵州
  • 小何自助建站自己写代码做网站要什么技术
  • 阿里云做视频网站可以吗模拟网站效果
  • 常州经开区建设局网站专注于seo顾问
  • 上海html5网站建设变装的他 wordpress
  • 盐城网站开发包括哪些计算机培训机构哪个最好
  • 邢台公司做网站多少钱网线制作ppt
  • 免费做淘宝联盟网站吉安做网站的
  • 做营销网站推广东莞网站开发技术公司
  • 外贸公司网站开发卖摄影作品的网站
  • 做网站一般多少印刷厂网站建设
  • 网约车平台app网站建设抖音推广seo
  • 免费网站平台网站推广策划方式
  • 南京网站制作域名wordpress响应慢原因
  • 广州网站制作有哪些ai网页设计教程
  • 低价网站建设哪家更好跑步机网站建设思维导图
  • 重庆网站建设网搜科技建筑公司是干什么的
  • 北京科技网站开发如何创立自己的公司
  • 网站建设 思维导图wordpress js验证码
  • 郑州网站推qq建设网站首页
  • 网站设计的主题通江县城乡建设局门户网站
  • 手机网站建设公司企业电子邮箱格式