Docker-下载后由于中间容器被删除而无法复制文件

时间:2019-05-29 08:07:55

标签: docker

我在docker文件的末尾有一个较大的docker文件,其中涉及很多步骤(但是这是一个阶段)。我正在尝试下载配置文件,然后将其复制到特定路径并运行程序

EXPOSE 830

RUN wget https://myurl/supervisord.conf

COPY supervisord.conf /etc/supervisord.conf

CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf"]

但是,似乎文件下载成功后,中间的docker容器被删除了,另一个临时容器也被创建了,因此,它给出了一个错误,提示它找不到配置文件。

如何避免这种情况?我还尝试在构建docker文件时使用 --rm=true 标志,以避免删除中间容器和不能解决问题的容器。

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用/etc/supervisord.conf和wget直接将文件放在-O上-

RUN wget https://myurl/supervisord.conf -O /etc/supervisord.conf

如果您不希望通过wget完成此操作,则可以执行常规的cp-

RUN cp supervisord.conf /etc/supervisord.conf
  Dockerfile中的

COPY语句基本上用于复制以下内容:   托管到相关的docker图像层或您要创建的容器。您的   COPY之所以应该失败,是因为supervisord.conf不存在   您的主机。