gpt4 book ai didi

windows - 在 Windows 上设置 Dockerised 命令行应用程序

转载 作者:可可西里 更新时间:2023-11-01 10:12:18 26 4
gpt4 key购买 nike

我正在向 Windows、OSX 和 Linux 用户分发命令行应用程序。应用程序的目标受众是开发人员、系统管理员和技术高级用户。

我熟悉命令行工具和 Docker 在 Unix 上的工作方式。但是,我已经 10 多年没有使用 Microsoft Windows 进行开发了。

我想做到这一点,以便当人们从命令提示符或 PowerShell 中键入 app 时,docker 入口点将像 native 命令行应用程序一样执行。但是我不知道为 Windows 用户设置它的最佳方法是什么:我是否应该以某种方式在 PATH 中创建一个虚拟 EXE,我可以以某种方式为 Docker 启动起别名,或者 Docker for Windows 本身是否提供了一些工具来轻松运行图像而无需复杂的设置和配置文件进程。

更复杂的是,对于 app 我需要做一些虚拟卷映射,以便它可以从主机驱动器读取和写入文件,例如它可以处理为其提供的任何输入文件。它还将与已在 Windows 上运行的本地主机或外部 HTTP 服务器通信。

如何为 app 进行顺利的安装过程的最佳实践是什么,这样我就可以让用户免于冗长的命令行命令或复杂的配置过程,并且命令可以在他们的默认命令行中使用 session ?

我可以给用户一个线性命令来为他们设置 app 和 Docker 镜像吗?

这是之前的问题,我如何创建 Docker 镜像:

Containerising Python command line application

最佳答案

should I somehow create a dummy EXE in PATH

  • 创建一个包装器批处理文件 (*.cmd) - cmd.exe 和 PowerShell 都可以调用类似于二进制可执行文件 - 并将其放置在 %PATH% 中列出的目录之一。

    • 然而,Windows 上没有标准化的目录(而 Linux 有 /usr/bin 和 macOS /usr/local/bin),所以您的设置过程可能有创建一个并使用 setx.exe 将其永久添加到 %PATH%
  • 使包装器批处理文件按需执行设置,然后调用目标 Docker 镜像,传递所有参数 (.*)。

Can I give the users one liner command that would set up the app and Docker image for them?

您可以设计一个冗长的 PowerShell 命令来执行上述所有操作,或者使用更简单的引导命令来下载和执行在线存储的安装脚本。


示例包装器批处理文件 app.cmd:

@echo off
setlocal

set appName="%~n0"

:: # perform on-demand configuration...

:: # Invoke the application in the target container.
sudo docker run -it %appName%:0.1 %appName%.py %*

关于windows - 在 Windows 上设置 Dockerised 命令行应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53458433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com