为什么我不能将我的 .git 文件夹复制到我的 docker 容器中

Woo*_*zar 5 copy docker

我们有一个 node.js/typescript 项目,现在我应该为我们的声纳分析提供数据。

我们使用 docker 容器来运行我们的测试,在测试完成后,我们正在运行声纳分析,以便我们可以使用测试中的代码覆盖率报告。

唯一的问题是,缺少责备信息。这就是为什么我试图将 .git 文件夹复制到 docker 容器中,但到目前为止我没有成功。这是我的 Dockerfile 的内容。

FROM node:11.6-alpine
RUN apk --update add openjdk8-jre

WORKDIR /dist

COPY package*.json ./

RUN npm install

COPY src/ ./src/
COPY test/ ./test/
COPY ts*.json ./
COPY sonar-project.properties ./
COPY test.sh /
COPY .git/ ./

RUN chmod +x /test.sh

CMD ["sh", "/test.sh"]
Run Code Online (Sandbox Code Playgroud)

我读过,.dockerignore 文件可用于排除文件或文件夹,但我们没有使用这样的文件,我也尝试创建一个只包含 node_modules 的文件,但这也不起作用。

有没有人知道如何包含它或任何提示谷歌的内容?我只找到“如何从 docker 容器中排除 .git”,但到目前为止恢复这些提示并没有帮助。

编辑:为了使它更陌生,使用COPY . ./将 .git 文件夹包含到图像中。

BMi*_*tch 11

您将 .git 文件夹的内容复制到 /dist 目录中,而不是 .git 文件夹本身。如果要复制文件夹,请将目标指定为要创建的文件夹:

COPY .git/ ./.git/
Run Code Online (Sandbox Code Playgroud)