Docker搭建私有g(shù)itlab倉(cāng)庫(kù)

docker在centos安裝教程:

官方教程:https://docs.docker.com/install/linux/docker-ce/centos/
1.查詢(xún)是否安裝過(guò)

yum list installed | grep docker

2.卸載舊版本

sudo yum -y remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

3.安裝所需軟件包

sudo yum -y install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

4.設(shè)置穩(wěn)定的存儲(chǔ)庫(kù)

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

5.安裝最新版本的Docker Engine-Community和containerd

sudo yum -y install docker-ce docker-ce-cli containerd.io

6.啟動(dòng)docker

sudo systemctl start docker

7.通過(guò)運(yùn)行hello-world 映像來(lái)驗(yàn)證是否正確安裝了Docker

sudo docker run hello-world
  • 此命令下載測(cè)試圖像并在容器中運(yùn)行。容器運(yùn)行時(shí),它會(huì)打印參考消息并退出


    image.png

下面就開(kāi)始搭建gitlab倉(cāng)庫(kù)

1.拉取gitlab鏡像

docker pull gitlab/gitlab-ce

2.下載速度太慢,設(shè)置國(guó)內(nèi)的阿里鏡像加速
docker阿里鏡像地址,具體使用參考下面鏈接

參考地址 https://blog.csdn.net/Funny_Ma/article/details/96478395

3.啟動(dòng)gitlab

sudo docker run --detach \
  --hostname gitlab.example.com \
  --publish 10443:443 --publish 1080:80 --publish 1022:22 \
  --name gitlab \
  --restart always \
  --volume /usr/local/docker/gitlab/config:/etc/gitlab \
  --volume /usr/local/docker/gitlab/logs:/var/log/gitlab \
  --volume /usr/local/docker/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest
  • 解釋一下上面的一條長(zhǎng)命令

--hostname gitlab.example.com \ # 設(shè)置主機(jī)名或域名
--publish 10443:443 --publish 1080:80 --publish 1022:22 \ #本地端口的映射
--name gitlab \ # gitlab-ce 的鏡像運(yùn)行成功的容器命名為gitlab
--restart always \ # 設(shè)置重啟方式,always 代表一直開(kāi)啟,即開(kāi)機(jī)自啟
--volume 分別將 gitlab 的配置文件、日志文件、數(shù)據(jù)文件目錄映射到 /usr/local/docker/gitlab的相應(yīng)目錄中

4.通過(guò)命令查看所有容器

docker ps -a
image.png

5.因?yàn)槲覀儼裧itlab映射到1080端口,所以防火墻開(kāi)啟1080端口

# 開(kāi)啟1080端口
firewall-cmd --zone=public --add-port=1080/tcp --permanent 
# 重啟防火墻才能生效
systemctl restart firewalld
# 查看已經(jīng)開(kāi)放的端口
firewall-cmd --list-ports

5.訪問(wèn)http://192.168.8.128:1080

  • 注意改成你服務(wù)器的ip
  • 第一次訪問(wèn)讓你設(shè)置密碼,默認(rèn)賬戶(hù)是root
image.png
  • 設(shè)置好密碼,root賬戶(hù)名登錄即可


    image.png
image.png
  • 接下來(lái)怎么使用,就不是本文要講的范圍了哦
  1. 新建一個(gè)項(xiàng)目,clone的時(shí)候發(fā)現(xiàn)地址http://gitlab.example.com/root/test.git
    image.png

上面設(shè)置的時(shí)候設(shè)置主機(jī)名或者域名的時(shí)候設(shè)置了gitlab.example.com,這時(shí)候怎么解決?

  • 去上面那條長(zhǎng)命令找到配置文件地址,我的是這個(gè)
cd /usr/local/docker/gitlab/config

  • vim打開(kāi)進(jìn)入這個(gè)文件


    image.png
  • 搜索這行# external_url 'GENERATED_EXTERNAL_URL'

  • 去掉注釋并改成你的ip或域名,保存退出。


    image.png
  • 使配置生效

docker exec gitlab gitlab-ctl reconfigure
  • 重啟gitlab
docker restart gitlab
image.png
  • 啟動(dòng)gitlab較慢,遇到502多等一會(huì)。
  • 啟動(dòng)成功,看到clone的url已經(jīng)修改成了ip


    image.png

windows上用docker搭建gitlab私庫(kù)

  • 注意更改gitlab的config/logs/data的目錄到windows的指定目錄
docker run -d --hostname localhost -p 10080:80 -p 10443:443 --name gitlab --restart always -v D:\java\docker\gitlab\config:/etc/gitlab -v D:\java\docker\gitlab\logs:/var/log/gitlab -v D:\java\docker\gitlab\data:/var/data/gitlab gitlab/gitlab-ce:latest
  • 上面的命令執(zhí)行完后可執(zhí)行下面命令查看gitlab容器的狀態(tài)
docker ps -a
  • 如果狀態(tài)一直是health: starting 而不變成healthy,則打開(kāi)配置文件夾,如上面長(zhǎng)命令中設(shè)置的配置文件夾為D:\java\docker\gitlab\config,則打開(kāi)這個(gè)文件夾下的gitlab.rb文件。修改其中配置
external_url 'http://你的ipv4地址'
gitlab_rails['gitlab_shell_ssh_port'] = 10022
  • 再次執(zhí)行docker ps -a發(fā)現(xiàn)狀態(tài)變成healthy就可以訪問(wèn)了,沒(méi)變可以重啟gitlab容器
docker restart gitlab
  • 成功啟動(dòng)后訪問(wèn)localhost:10080就可以設(shè)置密碼了。默認(rèn)賬戶(hù)名root
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容