【问题标题】:Docker on Windows Server 2016 TP4 Downloading git in container through powershellWindows Server 2016 TP4上的Docker通过powershell在容器中下载git
【发布时间】:2016-04-20 17:03:59
【问题描述】:

我有一个角度 UI 和一个 nodejs api。我目前正在 Azure 中运行 windows server 2016 TP4。以下是我要执行的步骤:

  1. 我能够远程进入、创建图像、基于这些图像创建容器,并附加到这些容器上没有问题。
  2. 我从 docker 中提取了一个 nodejs 映像:docker pull microsoft/node,然后从该映像创建了一个容器:docker run --name 'my_api_name' -it microsoft/node cmd
  3. 该命令通过 Windows 命令提示符将我带入容器。我输入powershell,这会将我带入一个powershell shell,我可以运行npm 命令。

    我的问题是,如何将 git 安装到这个容器上?我想访问保存我的应用程序的存储库,将它拉下来并在这个容器中运行它。我最终会将这个容器映像推送到 docker 注册表,以便客户端可以将其拉下并在其 Windows 环境中运行它。

【问题讨论】:

    标签: windows git powershell azure docker


    【解决方案1】:

    您可以在管理 shell 中这样做:

    iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
    cinst -y git
    

    【讨论】:

    • 我会看看这个然后“git”给你;) @majkinetor
    • 行得通,非常感谢。没有太多关于这方面的信息......
    • 我很高兴它成功了。人们通常出于某种原因不知道巧克力。顺便说一句,您可以接受答案作为解决方案。
    【解决方案2】:

    理想情况下,您不会将 git 添加到容器中并尝试将您的存储库拉入其中(这也会使私有存储库的凭据变得混乱

    您应该在主机上进行源代码控制管理,然后将源代码构建到容器中。 Windows Dockerfiles 尚不存在,但 Linux ones have ONBUILD。应该可以为 Windows 复制它。

    【讨论】:

    • 不过,我提供的方法是通用的,他可能出于其他原因需要容器中的 git,例如交付更新。
    • 事实是我最终使用@majkinetor 答案在主机上安装 git,然后使用 dockerfile 将应用程序构建到容器中。但是关于如何将文件移动到容器中,fiism 也是正确的。通常,Windows Server TP4 存在更多潜在问题,这些问题使 docker 和 windows 很痛苦。
    • @ssl 我很想听听您的 cmets,请随时发送电子邮件至 michael.friis@docker.com
    • @friism 所有问题都与TP4有关。就像无法在容器主机和容器之间映射端口,然后当您在浏览器中点击容器主机 ip 时看到您的应用程序正在运行。经过几天努力让 npm 在容器中工作后,我遇到了无法映射端口的错误。巨大的嗡嗡声杀死。我看到 TP5 已经发布,并且听说这些错误现在已修复,并期待尝试一下...不过,我会将您的电子邮件放在手边!!
    【解决方案3】:
    RUN @powershell iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))   
    RUN cinst -y git
    

    参考:Unable to install git and python packages inside Windows container

    【讨论】:

      【解决方案4】:

      通过下载“便携式”版本的 Git 解决了这个问题。将这些文件复制到容器中,然后运行 ​​Git 提供的安装后脚本。

      在这里找到合适的下载:https://git-scm.com/download/win

      docker 文件内部:

      添加 Git64/C:/Git/

      WORKDIR C:/Git/

      运行 %windir%\System32\cmd.exe "/K" C:\Git\pos​​t-install.bat

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-24
        • 1970-01-01
        • 2021-11-04
        • 2017-04-21
        • 2016-06-09
        • 2019-12-10
        • 2021-06-07
        • 2018-09-17
        相关资源
        最近更新 更多