最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Docker構(gòu)建一個(gè)Git鏡像使用clone倉(cāng)庫(kù)

 更新時(shí)間:2020年12月08日 14:48:46   作者:yijianguanzhu  
這篇文章主要介紹了使用Docker構(gòu)建一個(gè)Git鏡像使用clone倉(cāng)庫(kù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

概述

使用docker已經(jīng)有一年多了,最近意識(shí)到,我在快速編排服務(wù)的時(shí)候,shell腳本里用到的git還是原生的

在這里插入圖片描述

于是打算也將git容器化,在dockerhub上搜羅了一筐,找到這個(gè)鏡像下載量比較高

在這里插入圖片描述

進(jìn)去看了dockerfile后,感覺(jué)不太適合需求

在這里插入圖片描述

這里沒(méi)有提供卷,也沒(méi)有提供ssh,既不能把倉(cāng)庫(kù)映射到宿主機(jī),也沒(méi)有提供clone私有倉(cāng)庫(kù)的功能(小聲bb:都可以做到,但是不方便)。其他的gitclient鏡像也都大同小異。

在這里插入圖片描述
只能自己造個(gè)輪子了。

鏡像地址

本文的鏡像以push到dockerhub,有需要可直接使用: https://hub.docker.com/r/wuliangxue/git

輪子

首先需要一個(gè)dockerhub的賬戶,然后在服務(wù)器上使用docker登錄,以便于把鏡像push到dockerhub倉(cāng)庫(kù),為日后遷移時(shí)提供便利。

在這里插入圖片描述

隨便在一個(gè)目錄下,創(chuàng)建git.dockerfile文件

在這里插入圖片描述

在dockerfile文件中,輸入以下內(nèi)容

在這里插入圖片描述

這里簡(jiǎn)單說(shuō)一下,原先提供了一個(gè)基于ubuntu 18.04的鏡像,但是體積太大了,所以換成了alpine。國(guó)內(nèi)用戶需要把Linux 軟件源切換成國(guó)內(nèi)的鏡像,否則在安裝軟件時(shí),會(huì)出各種問(wèn)題。這個(gè)鏡像本身是為了clone項(xiàng)目,所以只安裝git和ssh。后面就是為了clone私有倉(cāng)庫(kù)做準(zhǔn)備,并且開(kāi)放對(duì)應(yīng)的ssh目錄卷。由于設(shè)置了工作目錄,因此git clone時(shí)默認(rèn)項(xiàng)目是在/git/repo這個(gè)目錄下,使用鏡像時(shí),掛載這個(gè)目錄即可。

構(gòu)建鏡像

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

在這里插入圖片描述

出現(xiàn)Successfully時(shí),代表鏡像構(gòu)建成功

在這里插入圖片描述

這里比較一下基于ubuntu 18.04構(gòu)建的鏡像大小,標(biāo)簽為0.1的是基于ubuntu 18.04構(gòu)建的【187M】,標(biāo)簽為0.1-alpine是基于alpine:3.12構(gòu)建的【30.1M】

在這里插入圖片描述

使用鏡像

首先,使用剛才構(gòu)建的鏡像clone一個(gè)公有倉(cāng)庫(kù),執(zhí)行下面的命令

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

在這里插入圖片描述

這個(gè)倉(cāng)庫(kù)被clone下來(lái)了。

在這里插入圖片描述

如果你想查看clone的細(xì)節(jié),可以在剛才的那條命令中,加上-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

在這里插入圖片描述

當(dāng)需要clone私有倉(cāng)庫(kù)時(shí),該怎么辦呢??
可以把ssh公私鑰掛載到容器中。
執(zhí)行下面的命令【注意,為了演示,公私鑰我直接放在了當(dāng)前目錄下了】

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

在這里插入圖片描述

注意,這里必須加參數(shù)-it,因?yàn)榈谝淮蝐lone私有倉(cāng)庫(kù)時(shí),git不知道這個(gè)地址的真實(shí)性(known_hosts文件沒(méi)有記錄,第一次使用也沒(méi)有這個(gè)文件),因此會(huì)詢問(wèn),如果沒(méi)有參數(shù)-it,沒(méi)有開(kāi)啟終端交互功能,那么clone將會(huì)直接失敗。

輸入yes,回車即可把私有倉(cāng)庫(kù)clone下來(lái)。

在這里插入圖片描述

最后,再把這個(gè)輪子push到dockerhub,以便下次換服務(wù)器時(shí),直接pull使用。

在這里插入圖片描述

到此這篇關(guān)于使用Docker構(gòu)建一個(gè)Git鏡像使用clone倉(cāng)庫(kù)的文章就介紹到這了,更多相關(guān)Docker構(gòu)建Git鏡像內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker暴露2375端口導(dǎo)致服務(wù)器被攻擊問(wèn)題及解決方法

    Docker暴露2375端口導(dǎo)致服務(wù)器被攻擊問(wèn)題及解決方法

    這篇文章主要介紹了Docker暴露2375端口導(dǎo)致服務(wù)器被攻擊問(wèn)題及解決方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • docker容器添加對(duì)外映射端口的實(shí)現(xiàn)

    docker容器添加對(duì)外映射端口的實(shí)現(xiàn)

    本文主要介紹了docker容器添加對(duì)外映射端口的實(shí)現(xiàn) ,從而實(shí)現(xiàn)容器與外部網(wǎng)絡(luò)的通信,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • Docker容器通過(guò)獨(dú)立IP暴露給局域網(wǎng)的方法

    Docker容器通過(guò)獨(dú)立IP暴露給局域網(wǎng)的方法

    這篇文章主要介紹了Docker容器通過(guò)獨(dú)立IP暴露給局域網(wǎng)的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-04-04
  • docker-compose集成Jenkins部署,打包,發(fā)布方式

    docker-compose集成Jenkins部署,打包,發(fā)布方式

    在Docker環(huán)境中安裝配置Jenkins,需掛載JDK、Maven等至容器指定路徑,設(shè)置國(guó)內(nèi)鏡像提升下載速度,并添加插件與憑據(jù)完成環(huán)境配置
    2024-10-10
  • yum下載rpm以及相關(guān)依賴的方式離線安裝docker

    yum下載rpm以及相關(guān)依賴的方式離線安裝docker

    今天小編就為大家分享一篇關(guān)于yum下載rpm以及相關(guān)依賴的方式離線安裝docker,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • Docker Namespace容器隔離的實(shí)現(xiàn)

    Docker Namespace容器隔離的實(shí)現(xiàn)

    Namespace是Docker容器中的一種隔離機(jī)制,通過(guò)劃分資源獨(dú)立空間,確保容器之間互不干擾,本文主要介紹一下Docker Namespace容器隔離的實(shí)現(xiàn),感興趣的可以了解一下
    2024-11-11
  • docker之安裝nginx的教程

    docker之安裝nginx的教程

    這篇文章主要介紹了docker之安裝nginx的教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • CentOS7環(huán)境下使用Docker搭建PHP運(yùn)行環(huán)境的過(guò)程詳解

    CentOS7環(huán)境下使用Docker搭建PHP運(yùn)行環(huán)境的過(guò)程詳解

    這篇文章主要介紹了CentOS7環(huán)境下使用Docker搭建PHP運(yùn)行環(huán)境,文中給大家提到創(chuàng)建私有網(wǎng)絡(luò)及安裝nginx的方法,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-08-08
  • Mac上將brew安裝的MySql改用Docker執(zhí)行操作過(guò)程

    Mac上將brew安裝的MySql改用Docker執(zhí)行操作過(guò)程

    本文分步驟給大家介紹Mac上將brew安裝的MySql改用Docker執(zhí)行操作過(guò)程的知識(shí),本文給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧
    2016-11-11
  • 使用docker指令如何刪除所有不再使用的鏡像

    使用docker指令如何刪除所有不再使用的鏡像

    這篇文章主要介紹了使用docker指令如何刪除所有不再使用的鏡像問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評(píng)論

清流县| 平陆县| 华亭县| 建昌县| 那曲县| 邯郸县| 镶黄旗| 应用必备| 衢州市| 台江县| 丹寨县| 温宿县| 化隆| 定襄县| 区。| 汕尾市| 丰县| 白水县| 微山县| 阿坝| 赤水市| 西丰县| 江华| 梅州市| 讷河市| 北流市| 禹州市| 香格里拉县| 株洲县| 东兴市| 华宁县| 汾西县| 潢川县| 图们市| 开平市| 巴里| 犍为县| 斗六市| 寻甸| 韩城市| 喀喇|