怎么在Docker中利用clone仓库构建一个Git镜像
创始人
2024-11-24 14:46:24
0次

首先需要一个dockerhub的账户,然后在服务器上使用docker登录,以便于把镜像push到dockerhub仓库,为日后迁移时提供便利。

怎么在Docker中利用clone仓库构建一个Git镜像

随便在一个目录下,创建git.dockerfile文件

怎么在Docker中利用clone仓库构建一个Git镜像

在dockerfile文件中,输入以下内容

怎么在Docker中利用clone仓库构建一个Git镜像

这里简单说一下,原先提供了一个基于ubuntu 18.04的镜像,但是体积太大了,所以换成了alpine。国内用户需要把Linux 软件源切换成国内的镜像,否则在安装软件时,会出各种问题。这个镜像本身是为了clone项目,所以只安装git和ssh。后面就是为了clone私有仓库做准备,并且开放对应的ssh目录卷。由于设置了工作目录,因此git clone时默认项目是在/git/repo这个目录下,使用镜像时,挂载这个目录即可。

构建镜像

输入命令: docker build -t wuliangxue/git:0.1-alpine -f git.dockerfile .

怎么在Docker中利用clone仓库构建一个Git镜像

出现Successfully时,代表镜像构建成功

怎么在Docker中利用clone仓库构建一个Git镜像

这里比较一下基于ubuntu 18.04构建的镜像大小,标签为0.1的是基于ubuntu 18.04构建的【187M】,标签为0.1-alpine是基于alpine:3.12构建的【30.1M】

怎么在Docker中利用clone仓库构建一个Git镜像

使用镜像

首先,使用刚才构建的镜像clone一个公有仓库,执行下面的命令

docker run --rm --name git \
	-v "$(pwd)":/git/repo wuliangxue/git:0.1-alpine \
	git clone https://github.com/docker-library/mysql.git

怎么在Docker中利用clone仓库构建一个Git镜像

这个仓库被clone下来了。

怎么在Docker中利用clone仓库构建一个Git镜像

如果你想查看clone的细节,可以在刚才的那条命令中,加上-it

docker run -it --rm --name git \
	-v "$(pwd)":/git/repo wuliangxue/git:0.1-alpine \
	git clone https://github.com/docker-library/mysql.git

怎么在Docker中利用clone仓库构建一个Git镜像

当需要clone私有仓库时,该怎么办呢??
可以把ssh公私钥挂载到容器中。
执行下面的命令【注意,为了演示,公私钥我直接放在了当前目录下了】

docker run -it --rm --name git \
-v "$(pwd)":/git/repo \
-v "$(pwd)/id_rsa":/root/.ssh/id_rsa \
-v "$(pwd)/id_rsa.pub":/root/.ssh/id_rsa.pub \
wuliangxue/git:0.1-alpine git clone git@gitee.com:wuliangxue/douyu.git

怎么在Docker中利用clone仓库构建一个Git镜像

注意,这里必须加参数-it,因为第一次clone私有仓库时,git不知道这个地址的真实性(known_hosts文件没有记录,第一次使用也没有这个文件),因此会询问,如果没有参数-it,没有开启终端交互功能,那么clone将会直接失败。

输入yes,回车即可把私有仓库clone下来。

怎么在Docker中利用clone仓库构建一个Git镜像

最后,再把这个轮子push到dockerhub,以便下次换服务器时,直接pull使用。

怎么在Docker中利用clone仓库构建一个Git镜像

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...