docker 中 ADD 和 COPY 的区别

2020-11-13  本文已影响0人  追风骚年

除了平时能看到的一个区别,今天发现 docker 中的 ADD 和 COPY 还有一个区别,COPY 可以 “FROM” 另外一层镜像,但是 ADD 不行。

我现在有个需求从一个镜像中打包出的产物中,复制一个压缩包到另外一层镜像中,希望可以通过 ADD 直接解压压缩包。

ADD --from=builder /vol/development/gateway/target/admin-0.0.1-SNAPSHOT.tar.gz ./

以上的写法错误,ADD 不可以 from。

正确

COPY --from=builder /vol/development/gateway/target/admin-0.0.1-SNAPSHOT.tar.gz ./
RUN tar -zxf admin-0.0.1-SNAPSHOT.tar.gz  && rm -rf admin-0.0.1-SNAPSHOT.tar.gz

只能写 copy 过来然后再解压,或者在上一层镜像中解压了,再复制过来。

参考文档

上一篇 下一篇

猜你喜欢

热点阅读