Docker从容器内部运行容器

2024-05-17 05:27:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个申请:

  • 一个执行简短(ish)任务并退出的Python控制台脚本
  • 一个烧瓶“前端”,用于通过传递命令行参数来启动控制台应用程序

目前,Flask项目携带一个控制台脚本的副本,并在必要时使用subprocess运行它。这在Docker容器中工作得很好,但是它们耦合得太紧密了。有些情况下,我希望从命令行运行控制台脚本。在

我想把这两个应用程序分成不同的容器。为了实现这一点,Flask应用程序需要能够在一个单独的容器(可以在另一台机器上)中启动控制台脚本。理想情况下,我不想在Flask容器中运行控制台脚本容器,这样每个容器只运行一个进程。另外,我需要能够传递控制台脚本命令行参数。在


Q:如何从容器内部生成具有短期任务的容器?



Tags: 项目docker命令行脚本机器应用程序flask参数
1条回答
网友
1楼 · 发布于 2024-05-17 05:27:58

您只需赋予容器执行docker命令的权限。它要么需要直接访问docker套接字,要么需要各种tcp环境变量和文件(客户端证书等)。显然,它还需要在容器上安装docker client。在

一个可以在主机上执行docker命令的容器的简单示例:

docker run -v /var/run/docker.sock:/var/run/docker.sock your_image

需要注意的是,这与在容器中运行docker守护进程是不同的。为此,您需要一个类似jpetazzo/dind的解决方案。在

相关问题 更多 >