我在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
标志,以避免删除中间容器和不能解决问题的容器。
答案 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
不存在 您的主机。