Docker补丁命令替换

时间:2019-11-19 16:49:06

标签: docker dockerfile

我正在使用Docker映像,它带有busybox中的许多二进制文件。 我需要命令“ patch”来接受参数“ -l”。但是busybox随附的命令不允许使用此参数,并且会给出以下异常而中断:

/usr/local # patch -l
patch: unrecognized option: l
BusyBox v1.29.3 (2019-01-24 07:45:07 UTC) multi-call binary.

Usage: patch [OPTIONS] [ORIGFILE [PATCHFILE]]

-p N    Strip N leading components from file names
-i DIFF Read DIFF instead of stdin
-R  Reverse patch
-N  Ignore already applied patches
-E  Remove output files if they become empty
--dry-run   Don't actually change files

有什么方法可以将patch命令替换为另一个命令吗?

1 个答案:

答案 0 :(得分:1)

  

有什么方法可以将patch命令替换为另一个命令吗?

当然可以,但是执行此操作的机制会根据所使用的图像而有所不同。

如果您使用的是基于Alpine的图片,则可以执行以下操作:

apk add --update patch

这将用功能齐全的GNU patch二进制文件替换patch的BusyBox版本。

如果您要使用其他产品,则需要在问题中提供其他详细信息。

相关问题