Dockfile中操作文件的命令ADD
©
COPY
和ADD
命令,在复制普通文件的时候,并没有什么太大的不同,两个命令都可以把本地文件,复制到镜像里。(如果复制的路径不存在,则会自动创建)
准备:
目录文件
FROM node:15.10.0-slim
COPY . ./app # ADD ./app
WORKDIR /app
RUN npm install --registry=https://registry.npm.taobao.org # 安装node依赖的命令
CMD node app.js
构建景象完成之后我们使用 docker exec -it <Container> /bin/bash
进入容器的shell
可以看到文件通过COPY
命令把宿主机器的项目文件成功放入了镜像中!
ADD
和COPY
命令的区别
ADD
构建镜像和COPY
最直观的一点不同,是ADD命令可以直接解压gzip
压缩文件,这当我们有很多文件要上传操作的时候,就会变的简单很多。
这里我们把项目文件都打包到一个app.tar
包中,然后构建镜像的时候通过ADD
命令帮我们解压,我们试一试吧!
FROM node:15.10.0-slim
ADD ./app.tar.gz /app
WORKDIR /app
RUN npm install --registry=https://registry.npm.taobao.org # 安装node依赖的命令
CMD node app.js
注意这个包必须是通过tar
的相关压缩命令去压缩,不要通过其他压缩方式去压缩然后改名字(别问我怎么知道的~)
通过查看容器内的目录结构可以看出,ADD
命令帮我们把tar
包给解压了!
4.WORKDIR
在写Dockerfile文件时,默认的操作目录,是镜像的根目录。但有时候需要拷贝很多内容到镜像里是二级目录,就可以使用WORKDIR命令。把工作目录切换到二级,WORKDIR
命令像我们操作linux下的cd
命令。