通过 Windows docker 文件设置 git

2023-12-07

I write Dockerfile这是基于视窗纳米服务器。我需要将 git 添加到该图像中。为了实现它,我做了以下工作:

RUN Invoke-WebRequest 'https://github.com/git-for-windows/git/releases/download/v2.12.2.windows.2/Git-2.12.2.2-64-bit.exe'
RUN Invoke-Expression "c:\Git-2.12.2.2-64-bit.exe"

但是当我通过 docker build 执行此行时,我收到以下错误消息:

调用表达式:术语“c:\Git-2.12.2.2-64-bit.exe”不是 被识别为 cmdlet、函数、脚本文件或可操作的名称 程序。检查名称的拼写,或者是否包含路径, 验证路径是否正确,然后重试。

我意识到此错误消息表明由于 Windows docker 映像的控制台性质,我将无法执行 GUI 安装程序。不幸的是 git 没有控制台安装程序。巧克力味在下工作正常视窗服务器核心图像但不起作用视窗纳米服务器。为了安装 git视窗纳米服务器我有重复的想法Dockerfile命令来自巧克力味的 git 安装程序这对我来说很好,但我仍然想知道是否有更简单的方法来安装 git视窗纳米服务器?


我通过使用 MinGit 并将有关 Mingit 的信息放入环境/路径变量中解决了 GUI 的问题。我使用了以下方法:

RUN Invoke-WebRequest 'https://github.com/git-for-windows/git/releases/download/v2.12.2.windows.2/MinGit-2.12.2.2-64-bit.zip' -OutFile MinGit.zip

RUN Expand-Archive c:\MinGit.zip -DestinationPath c:\MinGit; \
$env:PATH = $env:PATH + ';C:\MinGit\cmd\;C:\MinGit\cmd'; \
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\' -Name Path -Value $env:PATH
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 Windows docker 文件设置 git 的相关文章

随机推荐

  • socket.io 和express:404 未找到

    我的应用程序 js const express require express morgan require morgan bodyParser require body parser path require path mongoose
  • 弹性加载策略文件 crossdomain.xml

    我想将 crossdomain xml 文件放置在与根目录不同的位置 因为它只会产生很多依赖性问题 我怎样才能告诉flex从我的crossdomain xml文件中查找而不是根目录 我是否将loadPolicy代码添加到我的flex应用程序
  • dotnet core 2.1:从 xunit 项目引用 Web 项目时“发现不同版本之间存在冲突”

    当我偶然发现这个奇怪的事情时 我正在将 net core 2 0 应用程序升级到 2 1 的路上 如果我创建一个 Web 项目 然后创建一个引用第一个项目的 xunit 项目 那么一旦我使用任何 Newtonsoft Json 类 我就会收
  • 如何使用Spark Sql进行递归查询

    我正在尝试使用 Spark sql 递归查询分层数据集并识别所有嵌套子项的父根 我尝试过使用自连接 但它只适用于 1 级 有什么想法或指示吗 Thanks 您可以使用基于 Graphx 的解决方案来执行递归查询 父 子或分层查询 这是许多数
  • 如何从 AVCaptureAudioDataOutput 播放音频样本缓冲区

    我尝试制作的应用程序的主要目标是点对点视频流 有点像使用蓝牙 WiFi 的 FaceTime 使用 AVFoundation 我能够捕获视频 音频样本缓冲区 然后我发送视频 音频样本缓冲区数据 现在的问题是在接收端处理样本缓冲区数据 至于视
  • 查找字符串中的子字符串,其中子字符串封装在特定字符中

    我有一个格式为的字符串 The quick grey fox jumps over the lazy brown dog 我想查找并替换双下划线之间的任何单词 有时是句子 我目前在 PHP 中使用 preg match all patter
  • 从 gnuplot 获取变量到 c++

    我正在用 c 编写一个代码 它使用 gnuplot 绘制数据集 并且我意识到 如果我可以将变量从 gnuplot 获取到我的 c 代码 我可以大大简化我的代码 例如如果我做了一个 fit f 并得到他的统计数据 即 f x a x b fi
  • 如何访问fineuploader onComplete函数的参数?

    manualuploader fineUploader setParams foo bar var manualuploader manual fine uploader fineUploader on submit function ev
  • 将一个项目分为多个Xcode项目文件

    我一直在做的一个 iPad 项目因大量文件而变得臃肿 该应用程序是一个原型 我们正在考虑在重写它时防止这种情况的方法 我们团队的一位成员建议将所有组件划分为单独的 Xcode 项目 这些项目将包含在主 Xcode 项目中 这是一个好主意吗
  • 快速 spritekit 场景中的视频褪色

    我正在将一个陈列室应用程序从 as3 starling 移植到本机 swift iPad 应用程序 我有两个问题 如何使视频淡入我的 spritekit 内容 从 alpha 0 到 1 如何使用单独的 UI 元素控制 iPad 音量 而不
  • 使用典型的测试目录结构运行单元测试

    即使是简单的 Python 模块 最常见的目录结构似乎也是将单元测试分成自己的test目录 new project antigravity antigravity py test test antigravity py setup py e
  • 不要使用 GIT 覆盖 Azure 上的配置文件

    我有一个托管在 Azure 上的 Web 应用程序 目前有一些网站正在使用从 bitbucket 检索到的相同代码 各种安装之间的唯一区别是它们的连接字符串不同web config针对不同数据库的文件 每当我进行错误修复时 我都会将新代码上
  • 如何在同一个 Spring Boot 应用程序中配置 Neo4j 和 cassandra 存储库

    我已经使用 spring data 通过 spring boot 分别配置了 neo4j 和 cassandra 存储库 但是 当我尝试在同一项目中使用两个存储库时 它无法按预期工作 这是我的文件夹结构 org test project c
  • 如何在 Python 中正确迭代 unicode 字符

    我想迭代一个字符串并输出所有表情符号 我正在尝试迭代这些字符 并根据表情符号列表 然而 python 似乎将 unicode 字符分割成更小的字符 破坏了我的代码 例子 gt gt gt list u Test U0001f60d u T
  • 类型转换 Math.random?

    浏览了这个网站上的问题 但找不到我正在寻找的关于类型转换的答案Math random 方法从 double 到 int 我的问题是 为什么Math random只返回不带括号的 0 而当它包含在括号内时返回随机数 代码的第一部分返回 0 i
  • 如果将新分区添加到 Kafka 主题,消费者偏移量会发生什么?

    当添加新分区时 消费者偏移量会发生什么 它保持不变吗 是的 它保持不变 为每个分区单独维护一个偏移量 因此您的新分区的偏移量将从 0 开始 并且不会影响其他偏移量
  • 在 matplotlib 中使用动画的颜色图问题

    I use matplotlib animation对名为 3D 的数组中的数据进行动画处理arr 我使用 h5 文件读取数据h5py图书馆一切都很好 但是 当使用动画时 颜色图卡在数据范围的第一帧中 并且经过一些步骤后 它在绘图时显示非标
  • XY布局JAVA

    Java 有什么类型的 XY 布局吗 所以我可以在 X 和 Y 坐标处设置一个按钮 它应该是那么大等等 因为这个边框布局以及网格和面板的东西让我发疯 它们到处流动并伸展开来 为了使它们变小 您必须将面板放在面板中面板中面板中 将容器的布局设
  • Jplayer Ready功能不触发flash的解决办法

    我正在使用 Jplayer 2 2 0 和 jquery 1 6 在我的应用程序中播放音频文件 音频必须使用 flash 解决方案 但是 当解决方案选项设置为闪烁时 不会触发就绪功能 因此当我播放文件时会出现错误 当谷歌搜索此问题时 推荐的
  • 通过 Windows docker 文件设置 git

    I write Dockerfile这是基于视窗纳米服务器 我需要将 git 添加到该图像中 为了实现它 我做了以下工作 RUN Invoke WebRequest https github com git for windows git