如何使用docker镜像打包文件

时间:2016-05-29 11:07:47

标签: docker

我有一个应用程序需要主机上的一些二进制文件才能使基于docker的应用程序正常工作。我可以使用docker注册表发送图像,但如何将这些二进制文件发送到主机?创建deb / rpm似乎是一种选择,但这将违背Docker平台独立的理念。

2 个答案:

答案 0 :(得分:1)

如果您需要在主机上的泊坞窗图像之外使用它们,您可以做的就是这个。

使用DockerfileADD

将其添加到COPY

还有一个调用cp -f src dest的安装脚本 然后将安装目录从主机挂载到容器中的dest。

类似以下示例:

e.g。 Dockerfile

FROM ubuntu:16.04

COPY file1 /src
COPY file2 /src
COPY install /src
CMD install

构建它:

docker build -t installer .

安装脚本:

#/bin/bash
cp -f /src /dist

安装:

docker run -v /opt/bin:/dist

将导致file1& file2以主机上的/ opt / bin结尾。

答案 1 :(得分:0)

如果您的图像基于包管理器的图像,则可以使用包管理器安装所需的二进制文件,例如

RUN apt-get update && apt-get install -y required-package

或者,您可以从互联网上下载静态链接的二进制文件并提取它们,例如

RUN curl -s -L https://example.com/some-bin.tar.gz | tar -C /opt -zx

如果二进制文件是作为构建过程的一部分创建的,则您希望将其复制

COPY build/target/bin/* /usr/local/bin/