在docker中使用Perl脚本创建目录

cvxl0en2  于 2022-11-15  发布在  Perl
关注(0)|答案(2)|浏览(185)

我有一个简单的Perl脚本,如下所示,它在/ops/dim/foo下创建一个目录logs
makedir-script.pl:

#!/usr/bin/perl 
use warnings;
use strict;

my @i = (1..9);

for(@i){
    print("$_: Hello, World!\n");
}
my $sptpath = "/ops/dim/foo";
mkdir "$sptpath/logs" unless(-d "$sptpath/logs");
print("Opening POD created logs folder!\n");

Docker文件:

FROM ubuntu:16.10
WORKDIR /ops/dim/foo
COPY makedir-script.pl ./
CMD  perl makedir-script.pl
yacmzcpb

yacmzcpb1#

您的脚本失败,因为$scriptpath未设置任何值。
它尝试执行mkdir "$scriptpath/logs",因为/ops/dim/foo/logs不存在。
您可能希望改用$sptpath,因此您的语句变为

mkdir "$sptpath/logs" unless(-d "$sptpath/logs");
hyrbngr7

hyrbngr72#

@Hans Kilian的回答很好,但如果你只需要创建一个文件夹,在你的Dockerfile中很容易做到.就像这样:

RUN mkdir -p /ops/dim/foo/logs

相关问题