考虑 docker-compose :
employee_app:
container_name: EmployeeContainer
build:
context: .
dockerfile: Dockerfile
ports:
- "9999:3000"
depends_on:
- elastic
... more services
还有 employee
应用的 Dockerfile :
FROM node:14
COPY . /app
WORKDIR /app/
RUN npm i
ENTRYPOINT npm start
....
我在 employee
应用中有很多文件夹,当我 docker-compose up
时它会复制所有内容,除了 .test.js
文件。
为什么?
答案 0 :(得分:1)
根据评论,我认为我会更正式和更完整的答案。使用 Docker 时,如果您希望容器内包含某些内容,则需要确保没有 .dockerignore
文件,事后看来很明显,就像任何其他忽略文件一样,您选择从不管你在做什么。 IE。 .gitignore
,同样的想法,不同的工具,我猜? ?
虽然,正如您提到的 *.test.js
,我想知道为什么您希望在容器中而不是将其作为 CI 过程的一部分,即使您运行测试通过 Docker,即如果您查看this example,它可以节省您从.dockerignore
文件中删除任何内容。但当然,这是一个特定于上下文的主题,归根结底完全取决于您和您的团队,至多只是一个建议。
希望有帮助! ?