使用JIB构建的Docker CMD或RUN

我需要基于Ubuntu创建一个自定义映像,其中包含需要使用apt安装的软件。例如:

sudo apt-get install pcscd 
sudo apt-get install pcsc-tools # same as pcsc-lite   

# For OMNIKEY for driver Then unpack the file and run the installer:
cd /home/cccam/ifdokccid_lnx_x64-3.7.0/ 
chmod 755 install
sudo ./install

我还希望该软件能在还将安装的OpenJDK 1.8 64位下运行。关键是我需要运行这些命令。我怎样用JIB做到这一点?有没有办法让JIB使用Docker文件?有什么办法可以将这样的命令脚本传递到JIB中?

ZQW110 回答:使用JIB构建的Docker CMD或RUN

Jib不使用Dockerfile(即使没有安装Docker也可以使用); Jib构建映像的方式与Docker CLI使用Dockerfile构建映像的方式(可重现与不可重现,声明性与命令性,Docker和少Dockerfile的构建与要求Docker的方式不同)守护程序和客户端,不需要root特权。基本上,Jib不会“运行” Dockerfile指令,尤其是像RUN这样的指令会执行某些内容; Jib不提供/不包括Docker运行时(这是Jib的要点之一)。

对于安装OpenJDK之类的复杂软件包,最好的选择(目前)是准备一个自定义基本映像,该映像随所有预安装的软件包一起提供,并让Jib使用该映像。请注意,最新的Jib版本可以specify a local Docker daemon image or a tarball as a base image (in addition to a remote registry image)

如果只需要安装少量二进制文件,则可以使用extraDirectories功能(Maven / Gradle)复制任意文件。这是一个example,使用该功能安装了Stackdriver Debugger Java代理。

以防万一,您可以将Jib配置为运行任意ENTRYPOINTCMD,或包含自定义脚本文件(使用extraDirectories功能)并在运行时运行它们 ,但我真的不认为您要使用此功能。我相信您的目标是在构建时安装额外的软件包。

本文链接:https://www.f2er.com/3169199.html

大家都在问