gpt4 book ai didi

git - Docker命令RUN无法与git init --bare一起使用?

转载 作者:行者123 更新时间:2023-12-02 18:30:13 26 4
gpt4 key购买 nike

我有一个为GIT服务器创建镜像的Dockerfile。

在此Dockerfile中,有三行对我很重要:

RUN mkdir -p /root/repository
WORKDIR /root/repository
RUN git init --bare

前两行工作正常,但最后一行似乎无法正常工作。它不会产生任何错误输出,但是不会在 repository文件夹内创建所有文件/目录。该文件夹为空,但其中应包含以下文件/文件夹:
-rw-r--r--. 1 root root  23 Feb 27 14:18 HEAD
drwxr-xr-x. 2 root root 6 Feb 27 14:18 branches/
-rw-r--r--. 1 root root 66 Feb 27 14:18 config
-rw-r--r--. 1 root root 73 Feb 27 14:18 description
drwxr-xr-x. 2 root root 242 Feb 27 14:18 hooks/
drwxr-xr-x. 2 root root 21 Feb 27 14:18 info/
drwxr-xr-x. 4 root root 30 Feb 27 14:18 objects/
drwxr-xr-x. 4 root root 31 Feb 27 14:18 refs/

当我通过docker exec访问docker容器并手动执行 git init --bare时-一切似乎都很好...

执行 docker exec -it CONTAINER_ID git init --bare可以完美运行...

我究竟做错了什么?

最佳答案

它必须与Dockerfile中的环境设置或您使用的基本镜像有关。以下最小示例有效:

FROM alpine:latest
RUN apk update && apk add git

RUN mkdir -p /root/repository
WORKDIR /root/repository
RUN git init --bare

例如,您可以验证未在基础镜像中设置$ GIT_DIR,也不将其设置为 docker build的build参数。如果设置, git init --bare将在$ GIT_DIR而不是 /root/repository中初始化仓库

关于git - Docker命令RUN无法与git init --bare一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49011079/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com