Docker命令RUN无法使用git init --bare吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker命令RUN无法使用git init --bare吗?相关的知识,希望对你有一定的参考价值。
我有一个Dockerfile,为GIT服务器创建一个图像。
在这个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
的构建参数。如果设置,git init --bare
将在$ GIT_DIR而不是/root/repository
中初始化回购
以上是关于Docker命令RUN无法使用git init --bare吗?的主要内容,如果未能解决你的问题,请参考以下文章
docker run常用命令及 解决 ubuntu镜像无法识别 ifconfig ping 命令
Kubernetes 相当于 `docker run --init`
docker run 最后一个参数/bin/bash和/usr/sbin/init有什么区别?(/usr/sbin/init 启动容器之后可以使用systemctl方法)
docker run 最后一个参数/bin/bash和/usr/sbin/init有什么区别?(/usr/sbin/init 启动容器之后可以使用systemctl方法)