Dockerfile 是用来构建 Docker 镜像的文件,其中有一个重要的指令就是 COPY。使用 COPY 指令可以将本地文件拷贝到 Docker 镜像中。
语法:
COPY <src>... <dest>
其中,<src>
可以是文件或者目录,可以使用通配符;<dest>
是容器内的目标位置。
示例:
- 拷贝单个文件
FROM alpine:latest
COPY index.html /usr/share/nginx/html/
这个示例将本地的 index.html
文件拷贝到了容器内的 /usr/share/nginx/html/
目录下。
- 拷贝整个目录
FROM node:14-alpine
COPY ./app /app/
WORKDIR /app
RUN npm install
CMD ["npm", "start"]
这个示例将本地的 ./app
目录拷贝到了容器内的 /app/
目录下,并在容器内使用了相关命令构建了一个 Node.js 应用程序。
注意事项:
- 如果
<dest>
已经存在于容器中,则会覆盖已有的文件或目录。 - 如果
<src>
是相对路径,则相对于 Dockerfile 所在的目录。 - 如果需要拷贝多个文件或目录,可以使用多个 COPY 指令。
- 在构建镜像时,最好只拷贝必要的文件和目录,以减小镜像大小。