如何在perl脚本中将docker图像作为参数传递

如何在perl脚本中将docker图像作为参数传递,docker,perl,Docker,Perl,我对码头工人的世界还不熟悉。我创建了一个docker映像来运行samtools。我有一个执行samtools的perl脚本,变量如下所示: my $SAMTOOLS_BIN = "samtools"; 在这种情况下,将执行系统中安装的samtools版本 是否有一种方法可以将docker映像作为变量传递 my $SAMTOOLS_BIN = "docker_image"; 在Perl中,可以使用许多机制来运行外部程序(例如system命令、backticks和open())。我假设您的sys

我对码头工人的世界还不熟悉。我创建了一个docker映像来运行samtools。我有一个执行samtools的perl脚本,变量如下所示:

my $SAMTOOLS_BIN = "samtools";
在这种情况下,将执行系统中安装的samtools版本

是否有一种方法可以将docker映像作为变量传递

my $SAMTOOLS_BIN = "docker_image";

在Perl中,可以使用许多机制来运行外部程序(例如
system
命令、backticks和
open()
)。我假设您的
system\u p()
子例程使用以下方法之一

可以在shell命令行上作为命令运行的任何东西都可以在Perl中使用这些机制启动。您只需要了解正确的命令是什么

用于运行Docker容器的命令可能是
Docker run[container\u name]
(后面跟着一些选项)。一旦确定了需要哪些选项,就只需将该字符串传递给
system()
命令(或您正在使用的任何机制)


我想你是从Docker Hub那里得到你的Docker图像的。那里有很多samstools图像,所以我不确定您使用的是哪一个。但是,关于您正在使用的图像的页面(例如)可能会有关于如何运行它的有用信息。

在Perl中,您可以使用许多机制来运行外部程序(例如,
system
命令、backticks和
open()
)。我假设您的
system\u p()
子例程使用以下方法之一

可以在shell命令行上作为命令运行的任何东西都可以在Perl中使用这些机制启动。您只需要了解正确的命令是什么

用于运行Docker容器的命令可能是
Docker run[container\u name]
(后面跟着一些选项)。一旦确定了需要哪些选项,就只需将该字符串传递给
system()
命令(或您正在使用的任何机制)


我想你是从Docker Hub那里得到你的Docker图像的。那里有很多samstools图像,所以我不确定您使用的是哪一个。但是,关于您正在使用的图像的页面(例如)可能会有关于如何运行它的有用信息。

如果没有看到脚本,我们将帮不了您多少忙。它与变量有什么关系?变量用于执行samtools:
system\u p($samtools\u BIN,“sort”、'-@',6、“-f”、$bam\u fn、$sortbam\u fn)基本上,我希望使用与系统中安装的samtools不同的版本来运行我的perl脚本。因此,我考虑为samtools创建一个docker映像,并将docker映像作为变量传递。我在想,在perl脚本中是否有运行这个docker映像的方法。
system\p
不是标准的perl函数。不过,一般来说,应该可以从命令行运行任何可以运行的东西。不过,我不确定如何使用docker映像来实现这一点——如果可能的话。我没有找到任何类似的命令。如果要运行的命令打包在Docker映像中,则无法直接运行该命令,并且需要具有与root等效的权限才能启动可以运行该命令的容器。如果可以的话,我更喜欢在主机上运行这个版本。如果没有看到脚本,我们帮不了你多少忙。它与变量有什么关系?变量用于执行samtools:
system\u p($samtools\u BIN,“sort”、'-@',6、“-f”、$bam\u fn、$sortbam\u fn)基本上,我希望使用与系统中安装的samtools不同的版本来运行我的perl脚本。因此,我考虑为samtools创建一个docker映像,并将docker映像作为变量传递。我在想,在perl脚本中是否有运行这个docker映像的方法。
system\p
不是标准的perl函数。不过,一般来说,应该可以从命令行运行任何可以运行的东西。不过,我不确定如何使用docker映像来实现这一点——如果可能的话。我没有找到任何类似的命令。如果要运行的命令打包在Docker映像中,则无法直接运行该命令,并且需要具有与root等效的权限才能启动可以运行该命令的容器。如果可以的话,我更喜欢在主机上运行这个版本。