我有一个角度UI和一个nodejs api。我目前正在Azure中运行Windows Server 2016 TP4。这是我要经历的步骤:
docker pull microsoft/node
中提取了一个nodejs图片,然后从该图片中创建了一个容器:docker run --name 'my_api_name' -it microsoft/node cmd
该命令通过Windows命令提示符将我带入容器。我输入powershell
,它将我带入PowerShell shell,我可以运行npm命令。
我的问题是,如何在这个容器上安装git?我想要访问存放我的应用程序的存储库,将其拉下并在此容器中运行它。我最终将这个容器映像推送到docker注册表,以便客户端可以将其拉下并在windows env上运行它。
答案 0 :(得分:1)
你可以在admin shell中这样做:
iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
cinst -y git
答案 1 :(得分:1)
理想情况下,您不会将git添加到容器中并尝试将您的repo拉入其中(这也会使私有存储库的凭据变得混乱
您应该在主机上执行源代码管理,然后将源代码构建到容器中。它尚未出现在Windows Dockerfiles中,而是Linux ones have ONBUILD。应该可以为Windows复制它。
答案 2 :(得分:0)
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
答案 3 :(得分:0)
通过下载 Git 的“便携式”版本解决了这个问题。将这些文件复制到容器中,然后运行 Git 提供的安装后脚本。
在此处找到合适的下载:static image
docker 文件内部:
添加 Git64/C:/Git/
工作目录 C:/Git/
运行 %windir%\System32\cmd.exe "/K" C:\Git\post-install.bat