十九、Dockerfile-文件的复制与目录操作
2021-12-10 本文已影响0人
InsaneLoafer
往镜像里复制文件有两种方式,COPY
和 ADD
, 我们来看一下两者的不同。
复制普通文件
COPY
和 ADD
都可以把local的一个文件复制到镜像里,如果目标目录不存在,则会自动创建
FROM python:3.9.5-alpine3.13
COPY hello.py /app/hello.py
比如把本地的 hello.py 复制到 /app 目录下。 /app这个folder不存在,则会自动创建
复制压缩文件
ADD
比 COPY高级一点的地方就是,如果复制的是一个gzip等压缩文件时,ADD会帮助我们自动去解压缩文件。
FROM python:3.9.5-alpine3.13
ADD hello.tar.gz /app/
如何选择
因此在 COPY 和 ADD 指令中选择的时候,可以遵循这样的原则,所有的文件复制均使用 COPY 指令,仅在需要自动解压缩的场合使用 ADD。
目录变更
WORKDIR
类似于切换目录cd
操作,如果目标目录不存在会自动创建,且ADD
和COPY
的文件会自动存放在WORKDIR
目录下
FROM python:3.9.5-alpine3.13
WORKDIR /app
ADD hello.tar.gz hello.py