[英]Dockerfile COPY file generated by RUN sh script
COPY
從主機復制到鏡像。 如果你想從一個鏡像復制到另一個鏡像,你可以使用'normal' cp
命令。
沒錯,每個 RUN 語句都在單獨的 shell 中運行。但是由於您生成的文件存儲在文件系統中,因此如果您在不同的 RUN 語句中執行它,它將起作用。
但是,讓我們在一個 RUN 語句中執行此操作,以僅在圖像中獲得 1 個新層:
FROM ubuntu:20.04
WORKDIR /app
COPY . .
RUN ./script.sh && \
cp settings.xml /root/.m2/
如果不需要將副本留在/app
中,也可以使用mv
移動文件。
通過執行RUN script.sh
文件將在容器內生成。 因此無法使用COPY
Dockerfile 命令將其復制到圖像中。 相反,您可以將mv
內的文件移動到所需的目的地:
FROM ubuntu:20.04
WORKDIR /app
COPY . .
RUN ./script.sh \
&& mv /path/to/settings.xml /root/.m2/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.