当前位置: 首页 > 面试题库 >

使用Docker ADD命令处理多个文件

卫弘义
2023-03-14
问题内容

我想将一些文件复制到我的图像中,并希望使用ADD命令。我在Docker文档中阅读了有关ADD的正则表达式的信息,但是我不知道我可以使用哪种表达式?

我想要这样的东西

FROM registry:5000/ubuntu:14.04
MAINTAINER Me

# some stuffs

ADD Sources/{file1,file2,load_file} /etc/Sources/

# more stuffs

注意:该表达式是错误的,但我这样做是为了向您展示对ADD命令的期望。(我在shell正则表达式中进行了思考)。

那么,我该怎么做呢?我无法访问链接filepath.Match。如果有人有这些规则,请告诉我?

更新资料

我正在使用此Docker文档参考

我正在使用此版本:

Client version: 1.3.0
Client API version: 1.15
Go version (client): go1.3.3
Git commit (client): c78088f
OS/Arch (client): linux/amd64
Server version: 1.3.0
Server API version: 1.15
Go version (server): go1.3.3
Git commit (server): c78088f

问题答案:

ADD命令COPY都允许Golang
filepath.Match通配符

您可以在Go的测试代码中找到许多示例:https
:
//golang.org/src/pkg/path/filepath/match_test.go

以下是针对那些无法访问Google / golang.org的中国人的规则:

    '*'         matches any sequence of non-Separator characters
    '?'         matches any single non-Separator character
    '[' [ '^' ] { character-range } ']'
                character class (must be non-empty)
    c           matches character c (c != '*', '?', '\\', '[')
    '\\' c      matches character c

character-range:
    c           matches character c (c != '\\', '-', ']')
    '\\' c      matches character c
    lo '-' hi   matches character c for lo <= c <= hi


 类似资料:
  • 我想从Python中为大约8000个文件启动一个外部命令。每个文件都独立于其他文件进行处理。唯一的限制是在处理完所有文件后继续执行。我有4个物理核,每个物理核有2个逻辑核(返回8)。我的想法是使用一个由四个并行独立进程组成的池,这些进程将在8个内核中的4个上运行。这样我的机器就可以同时使用了。 以下是我一直在做的事情: 连续处理一批100个文件需要120秒。上述多处理版本(函数)只需20秒即可完成

  • 主要内容:GCC编译多文件项目通过前面几节的学习,读者已经了解了如何使用 gcc(g++)指令调用 GCC 编译器编译(包括预处理、编译、汇编和链接)C 或者 C++ 源代码,例如: [root@bogon demo]# ls demo1.c  demo2.c [root@bogon demo]# cat demo1.c #include<stdio.h> int main(){     printf("GCC:https:/

  • 处理文本和文本文件的命令 sort 文件排序, 通常用在管道中当过滤器来使用. 这个命令可以依据指定的关键字或指定的字符位置, 对文件行进行排序. 使用 -m 选项, 它将会合并预排序的输入文件. 想了解这个命令的全部参数请参考这个命令的 info 页. 见 Example 10-9,Example 10-10, 和 Example A-8. tsort 拓扑排序 ,读取以空格分隔的有序对, 并且

  • 在本章中,我们来看一看一些经常使用的批处理命令。如下图中所示 - 编号 命令 描述 1 VER 此批处理命令显示正在使用的MS-DOS的版本。 2 ASSOC 这是将扩展名与文件类型(FTYPE)相关联的批处理命令,显示现有关联或删除关联。 3 CD 此批处理命令用于更改进入不同的目录,或显示当前目录。 4 CLS 这个批处理命令清除屏幕。 5 COPY 此批处理命令用于将文件从一个位置复制到另一

  • #,## # 和 ## 操作符是和#define宏使用的. 使用# 使在#后的首个参数返回为一个带引号的字符串. 例如, 命令 #define to_string( s ) # s 将会使编译器把以下命令 cout << to_string( Hello World! ) << endl; 理解为 cout << "Hello World!" << endl;