Gitlab 是一個用于倉庫管理系統的開源項目。使用Git作為代碼管理工具,并在此基礎上搭建起來的web服務。
詳細介紹可以參照官網,https://about.gitlab.com/
今天主要是通過在docker上搭建一個Gitlab的環境,來講解用到的docker命令。
效果圖:
基礎知識補充:了解docker中image和container的概念,image可以理解為VM template,container可以理解為從VM template生成的VM.
container是通過docker run命令從image生成出來的。
關于如何安裝docker,請參考https://docs.docker.com/installation/
注:下面的所有命令都可以在這里找到詳細的說明,如果不是root用戶,需要在docker前加sudo。
1. docker search gitlab
在docker hub/public registry上搜索帶有gitlab關鍵詞的images。stars值越高說明這個image越好。
注:我們也可以直接在index.docker.io上輸入gitlab進行搜索,然后點擊sameersbn/gitlab,進入網頁后參考readme進行操作。
2. docker pullsameersbn/gitlab:latest
從docker hub上下載image到本地, sameersbn/gitlab是image的名字,latest是tag,如果不寫tag,默認是latest。
注:我們也可以不直接pull這個image,通過從github上下載最新的dockerfile文件,然后通過下面的命令進行build。
docker build -t “lemonbar/gitlab” . //注意此處的"."不是句號,是代表dockerfile所在的路徑,.代表當前路徑。-t是build出來的image的名字。
docker push lemonbar/gitlab //可以通過push命令,來把自己的image上傳到public registry。
3. docker images
查看本地已經存在哪些docker image,剛安裝完docker后,默認是空的。
4. mkdir -p /opt/gitlab/data && mkdir -p /opt/gitlab/MySQL
繼續操作前我們創建兩個folder,用來存放一會在gitlab container運行中的一些文件。
好處:防止container停止或者刪除后,我們存儲的一些文件不會和container一起被刪除。
5. docker run --name=gitlab -P -d -v /opt/gitlab/data:/home/git/data -v /opt/gitlab/mysql:/var/lib/mysql sameersbn/gitlab
從sameersbn/gitlab這個image生成名字為gitlab的container.
--name是新生成的container的名字
-d在后臺運行這個container,也可以用-i,意思是交互式的運行container,用戶可以看到輸出,也可以輸入
-v把container里面的volumn映射到主機的存儲,/opt/gitlab/data是主機的路徑,/home/git/data是container里面的路徑
-P(大寫)這個參數比較重要,是把所有container里面的端口都映射到主機上的隨機端口,這樣和主機在同一網絡內的機器就可以訪問container了。
如果不想映射container里面所有端口,可以通過-p(小寫)來進行單獨的映射。
這個命令是所有的命令中最重要的一個!(沒有之一)
6. docker ps -a
查看主機上有哪些containers,以及每個container的主要信息
7. docker inspect gitlab
可以用來查看container的詳細信息,gitlab是container的名字,也可以輸入container的id(id不需要輸全,只要前幾位可以唯一標示這個container就可以了)
8. docker stop gitlab
用來停止命名為gitlab的container
9. docker rm gitlab
用來刪除命名為gitlab的container
10. docker rmi sameersbn/gitlab
用來刪除命名為sameersbn/gitlab的image
初步使用docker,先掌握上面幾個命令就可以了。有任何問題,可以參考https://docs.docker.com/reference/commandline/cli/
如果不想在自己機器上安裝docker,只是想簡單了解下docker的命令,可以訪問下面的網站進行練習。
https://www.docker.com/tryit/
今天先寫這些吧,下一篇會介紹如何搭建和使用自己的docker registry。
新聞熱點
疑難解答