【发布时间】:2022-01-11 15:05:37
【问题描述】:
这是我想出的,但对我来说似乎很笨拙。有没有办法简化 COPY 命令?请注意,并非所有文件夹都需要复制。
我确实检查了Docker's documentation,似乎这可能是唯一的方法?我只是在检查是否有其他人有更好的想法。谢谢!
# Copy files to container
COPY src/ /opt/build_area/src/
COPY public/ /opt/build_area/public/
COPY app.js doc* .en* tag-push.sh react-0.3.1.tgz package.json .npmrc /opt/build_area/
这是文件夹结构:
$ tree -L 1
.
├── .dockerignore
├── .env
├── .env.development
├── .git/
├── .gitignore
├── .npmrc
├── Dockerfile
├── Dockerfile-build
├── README.md
├── app.js
├── azure-pipelines-static.yml
├── azure-pipelines.yml
├── docker/
├── docker-compose-run.yml
├── docker-compose.yml
├── node_modules/
├── package-lock.json
├── package.json
├── public/
├── react-0.3.1.tgz
├── src/
├── tag-push.sh
└── test-azure-pipelines-static.yml
5 directories, 18 files
【问题讨论】:
-
检查这个可能的重复项:stackoverflow.com/questions/30256386/…
-
我在这里使用的另一个快捷方式是设置
WORKDIR /opt/build_area,然后设置COPY src/ ./src/、COPY files ./相对于WORKDIR,以避免重复目录名称。 -
@TahaNaqvi,这是一篇很有帮助的帖子。谢谢!
-
@DavidMaze,这是个好主意!谢谢指点。
标签: docker dockerfile