Docker-compose 不会将本地文件夹中的测试文件复制到 Container 中,而是复制其他所有内容

时间:2021-01-12 12:27:34

标签: javascript docker ubuntu docker-compose dockerfile

考虑 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 文件。

为什么?

1 个答案:

答案 0 :(得分:1)

根据评论,我认为我会更正式和更完整的答案。使用 Docker 时,如果您希望容器内包含某些内容,则需要确保没有 .dockerignore 文件,事后看来很明显,就像任何其他忽略文件一样,您选择从不管你在做什么。 IE。 .gitignore,同样的想法,不同的工具,我猜? ?

虽然,正如您提到的 *.test.js,我想知道为什么您希望在容器中而不是将其作为 CI 过程的一部分,即使您运行测试通过 Docker,即如果您查看this example,它可以节省您从.dockerignore 文件中删除任何内容。但当然,这是一个特定于上下文的主题,归根结底完全取决于您和您的团队,至多只是一个建议。

希望有帮助! ?

相关问题