从Dockerfile构建时如何访问本地文件?

fre*_*rik 19 docker dockerfile

hello.rpm从Dockerfile构建时需要,但是这个rpm文件不能在线获取.

现在我通过启动临时Web服务器来提供文件服务,但理想情况下我想运行一个构建命令,使该本地文件在容器内可用.

这可能吗?


我的构建命令:

docker -t fredrik/helloworld:1.0 .
Run Code Online (Sandbox Code Playgroud)

我的Dockerfile:

FROM centos:6
RUN rpm -ivh hello.rpm
Run Code Online (Sandbox Code Playgroud)

Nic*_*las 31

为什么不在执行之前复制容器内的文件RUN

FROM centos:6
COPY hello.rpm /tmp/hello.rpm
RUN rpm -ivh /tmp/hello.rpm
Run Code Online (Sandbox Code Playgroud)

这假设您构建它时就在您的hello.rpm旁边Dockerfile.

  • 这意味着您最终会在生成的 Docker 映像中获得该文件的两个副本 - RPM 和已安装的二进制文件。如果文件很大并且您的连接速度很慢,那不是很好。 (3认同)