
docker-git是一个基于Ubuntu 22.04的最小化沙箱容器,集成了git和vim工具,提供简化命令以方便在Docker环境中进行Git仓库管理和Docker镜像推送操作。该容器设计用于开发者在隔离环境中编辑代码、管理Git版本控制及推送Docker镜像,适合需要快速搭建Git和Docker操作环境的场景。
gitpush、dockerpush和push三个简化命令,简化Git提交推送和Docker镜像构建推送流程启动容器:首次启动时,容器会在挂载的卷目录下创建凭证文件,并自动停止
bashdocker run -d --name='git' \ --net='bridge' \ -e TZ="Europe/Paris" \ -v '/path/on/host/':'/mnt/github':'rw' \ -v '/var/run/docker.sock':'/var/run/docker.sock':'rw' \ 'trueosiris/git'
编辑凭证文件:在主机挂载目录(/path/on/host/)中找到并编辑.credentials.txt文件,按要求填写以下变量(无空格,含`# docker-git 镜像文档
docker-git是一个基于Ubuntu 22.04的最小化沙箱容器,集成了git和vim工具,提供简化命令以方便在Docker环境中进行Git仓库管理和Docker镜像推送操作。该容器设计用于开发者在隔离环境中编辑代码、管理Git版本控制及推送Docker镜像,适合需要快速搭建Git和Docker操作环境的场景。
gitpush、dockerpush和push三个简化命令,简化Git提交推送和Docker镜像构建推送流程启动容器:首次启动时,容器会在挂载的卷目录下创建凭证文件,并自动停止
bashdocker run -d --name='git' \ --net='bridge' \ -e TZ="Europe/Paris" \ -v '/path/on/host/':'/mnt/github':'rw' \ -v '/var/run/docker.sock':'/var/run/docker.sock':'rw' \ 'trueosiris/git'
编辑凭证文件:在主机挂载目录(/path/on/host/)中找到并编辑.credentials.txt文件,按要求填写以下变量(无空格,含等特殊符号需用单引号包裹):
GITUSER:GitHub用户名/仓库名GITMAIL:GitHub***/登录账号DOCKERUSER:Docker账号DOCKERPASS:Docker密码SSHPASS:openssh-server密码重启容器:完成凭证文件编辑后,重启容器
bashdocker restart git
获取SSH密钥:查看容器日志获取生成的SSH密钥,用于添加到GitHub账号
bashdocker logs -f git
添加SSH密钥到GitHub:登录GitHub,进入Settings -> SSH and GPG keys,添加日志中的SSH公钥
使用以下命令进入容器交互式终端:
bashdocker exec -it git /bin/bash
Git操作
克隆Git仓库并进入目录
bashgit clone https://github.com/yourgituser/yourgitrepo cd yourgitrepo
使用gitpush命令提交并推送代码,格式:gitpush [comment] [tag]
bash# 无注释和标签 gitpush # 带注释和标签 gitpush "upgraded python" 1.3 # 带注释和主分支标签 gitpush "adapted the README.md" main
Docker镜像推送
dockerpush命令构建并推送镜像,格式:dockerpush <repository>[:tag]
bash# 推送默认标签 dockerpush yourdockerrepo # 推送指定标签 dockerpush yourdockerrepo:1.0 # 推送并清理镜像 dockerpush yourdockerrepo:1.1 --purge-images
一站式操作
使用push命令同时完成Git提交推送和Docker镜像构建推送,格式:push <docker-repository>[:docker-tag]
bashpush yourdockerrepo:1.0
| 环境变量 | 默认值 | 描述 |
|---|---|---|
| TZ | Europe/Brussels | 用于ntpdate的时区设置 |
| .credentials.txt 变量 | 描述 |
|---|---|
| GITUSER | GitHub用户名/仓库名 |
| GITMAIL | GitHub***/登录账号 |
| DOCKERUSER | Docker账号 |
| DOCKERPASS | Docker密码 |
| SSHPASS | openssh-server密码 |
| 主机目录 | 容器路径 | 说明 |
|---|---|---|
| /host/folder/with/repos | /mnt/github | 用于存储Git仓库和凭证文件,需读写权限 |
| /var/run/docker.sock | /var/run/docker.sock | 用于访问宿主机Docker引擎,需读写权限 |
可选暴露SSH端口,用于远程连接容器:
| 主机端口 | 容器端口 | 说明 |
|---|---|---|
| 1234 | 22 | SSH服务端口 |
bashdocker run -d --name='git' \ --net='bridge' \ -e TZ="Europe/Paris" \ -v '/path/on/host/':'/mnt/github':'rw' \ -v '/var/run/docker.sock':'/var/run/docker.sock':'rw' \ -p 1234:22 \ # 可选,如需SSH访问 'trueosiris/git'
容器日志存储在/var/log/git.log。本镜像的Docker Hub描述使用peterevans/dockerhub-description工具更新,特此致谢。
注意:凭证文件中包含用户名和密码等敏感信息,存在暴露风险,请谨慎使用。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务