docker?部署?gitlab-ce?16.9.1的詳細(xì)過(guò)程
gitlab/gitlab-ce(需要科學(xué)上網(wǎng))
拉取 gitlab-ce 鏡像
docker pull gitlab/gitlab-ce:16.9.1-ce.0
查看鏡像是不是有
Volumes的配置
docker inspect gitlab/gitlab-ce:16.9.1-ce.0 --format='{{.Config.Volumes}}'獲取到類似如下的內(nèi)容,說(shuō)明有
Volumes的配置
map[/etc/gitlab:{} /var/log/gitlab:{} /var/opt/gitlab:{}]創(chuàng)建 gitlab-ce 持久化目錄
mkdir -p /data/gitlab-ce-root
cat << EOF > /data/gitlab-ce-root/gitlab-ce.env
GITLAB_BASE_DIR='/data/gitlab-ce-root'
GITLAB_CONFIG_DIR="\${GITLAB_BASE_DIR}/conf"
GITLAB_DATA_DIR="\${GITLAB_BASE_DIR}/data"
GITLAB_LOG_DIR="\${GITLAB_BASE_DIR}/logs"
EOF創(chuàng)建目錄
source /data/gitlab-ce-root/gitlab-ce.env
mkdir -p ${GITLAB_CONFIG_DIR} ${GITLAB_DATA_DIR} ${GITLAB_LOG_DIR}啟停腳本配置
- 通過(guò)
start啟動(dòng)容器 - 通過(guò)
stop停止容器 - 通過(guò)
restart重啟容器 - 通過(guò)
exec進(jìn)入容器
#!/usr/bin/env bash
source /data/gitlab-ce-root/gitlab-ce.env
GITLAB_PORT='8888'
GITLAB_MEM=4G
GITLAB_NAME='gitlab-ce'
GITLAB_IMAGE='gitlab/gitlab-ce:16.9.1-ce.0'
function useAge () {
echo "usage: [ bash ${0} start ] to start gitlab-ce"
echo "usage: [ bash ${0} stop ] to stop gitlab-ce"
echo "usage: [ bash ${0} restart ] to restart gitlab-ce"
echo "usage: [ bash ${0} exec ] to exec gitlab-ce"
exit 1
}
function optStart () {
DOCKER_PS=$(docker ps -a | awk "/${GITLAB_NAME}/ {print \$NF}")
if [[ "${DOCKER_PS}"x == "${GITLAB_NAME}"x ]];then
DOCKER_STATUS=$(docker ps -a --format="{{.Names}} {{.Status}}" | awk "/${GITLAB_NAME}/ {print \$2}")
if [[ "${DOCKER_STATUS}"x == "Up"x ]];then
echo "${GITLAB_NAME} is up"
else
docker start ${GITLAB_NAME} > /dev/null
if [ $? -eq 0 ];then
echo "${GITLAB_NAME} start success"
fi
fi
else
docker run -d \
-p ${GITLAB_PORT}:80 \
-v ${GITLAB_CONFIG_DIR}:/etc/gitlab \
-v ${GITLAB_LOG_DIR}:/var/log/gitlab \
-v ${GITLAB_DATA_DIR}:/var/opt/gitlab \
--restart always \
--privileged=true \
--name ${GITLAB_NAME} \
--memory=${GITLAB_MEM} \
${GITLAB_IMAGE}
fi
}
function optStop () {
docker stop ${GITLAB_NAME} > /dev/null
if [ $? -eq 0 ];then
echo "${GITLAB_NAME} stop success"
fi
}
function optExec () {
docker exec -it ${GITLAB_NAME} bash
}
if [ $# -eq 0 ];then
useAge
fi
case $1 in
'start' )
optStart
;;
'stop' )
optStop
;;
'restart' )
optStop
optStart
;;
'exec' )
optExec
;;
'*' )
useAge
;;
esac配置 gitlab-ce
進(jìn)入 gitlab-ce 容器
docker exec -it gitlab-ce bash
編輯 gitlab-ce 配置文件
egrep -q '^external_url' /etc/gitlab/gitlab.rb || echo "external_url 'http://172.72.0.170'" >> /etc/gitlab/gitlab.rb
重啟 gitlab-ce
退出容器,然后重啟容器
docker restart gitlab-ce
gitlab-ce 的重啟時(shí)間非常的久,這個(gè)和硬件有關(guān)系,等到日志出現(xiàn)
gitlab Reconfigured就說(shuō)明重啟完成了,就可以用瀏覽器訪問 ip 地址去打開 gitlab 頁(yè)面了
配置 root 密碼
進(jìn)入容器
docker exec -it gitlab-ce bash
進(jìn)入控制臺(tái)
gitlab-rails console -e production
耐心等待,等他出現(xiàn)下面的內(nèi)容
-------------------------------------------------------------------------------- Ruby: ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x86_64-linux] GitLab: 16.9.1 (0ef8ba69a8f) FOSS GitLab Shell: 14.33.0 PostgreSQL: 14.10 ------------------------------------------------------------[ booted in 44.67s ] Loading production environment (Rails 7.0.8) irb(main):001:0>
查詢管理員的名字
user = User.where(id:1).first
返回如下的內(nèi)容
=> #<User id:1 @root>
設(shè)置密碼
user.password='Password@123'
保存密碼,返回 true 表示修改成功
user.save!
設(shè)置中文

找到
Localization,把Language換成簡(jiǎn)體中文,然后save change

刷新一下頁(yè)面,就顯示中文了

到此這篇關(guān)于docker 部署 gitlab-ce 16.9.1的文章就介紹到這了,更多相關(guān)docker 部署 gitlab-ce內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決docker?pull出現(xiàn)錯(cuò)誤:Error?response?from?daemon
這篇文章主要給大家介紹了關(guān)于解決docker?pull出現(xiàn)錯(cuò)誤:Error?response?from?daemon的相關(guān)資料,這個(gè)錯(cuò)誤提示一般是因?yàn)槟銢]有權(quán)限拉取對(duì)應(yīng)的鏡像,文中將解決辦法介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12
Dockerfile構(gòu)建Redis鏡像的方法實(shí)現(xiàn)(yum方式)
本文主要介紹了Dockerfile構(gòu)建Redis鏡像的方法實(shí)現(xiàn)(yum方式),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08
Docker部署Microsoft Sql Server詳細(xì)步驟
大家好,本篇文章主要講的是Docker部署Microsoft Sql Server詳細(xì)步驟,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12
docker默認(rèn)存儲(chǔ)路徑修改方法總結(jié)
docker默認(rèn)存儲(chǔ)路徑是/var/lib/docker,占用服務(wù)器根分區(qū),容易導(dǎo)致磁盤空間占滿,下面這篇文章主要給大家介紹了關(guān)于docker默認(rèn)存儲(chǔ)路徑修改方法的相關(guān)資料,需要的朋友可以參考下2023-10-10
使用Docker進(jìn)行node開發(fā)時(shí)實(shí)現(xiàn)熱加載功能
這篇文章主要介紹了使用docker進(jìn)行vue、react或者node開發(fā)時(shí)實(shí)現(xiàn)熱加載功能,即宿主機(jī)文件修改之后實(shí)時(shí)刷新或者實(shí)時(shí)重啟服務(wù),文中通過(guò)代碼示例介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2024-09-09

