docker?部署?gitlab-ce?16.9.1的詳細(xì)過程
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)容,說明有
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}啟停腳本配置
- 通過
start啟動容器 - 通過
stop停止容器 - 通過
restart重啟容器 - 通過
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 的重啟時間非常的久,這個和硬件有關(guān)系,等到日志出現(xiàn)
gitlab Reconfigured就說明重啟完成了,就可以用瀏覽器訪問 ip 地址去打開 gitlab 頁面了
配置 root 密碼
進(jìn)入容器
docker exec -it gitlab-ce bash
進(jìn)入控制臺
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換成簡體中文,然后save change

刷新一下頁面,就顯示中文了

到此這篇關(guān)于docker 部署 gitlab-ce 16.9.1的文章就介紹到這了,更多相關(guān)docker 部署 gitlab-ce內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker安裝Nginx并修改Nginx配置文件的方法詳解
這篇文章主要給大家介紹了關(guān)于Docker安裝Nginx并修改Nginx配置文件的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2023-02-02
使用Docker部署LMS輕量級音樂服務(wù)器的實現(xiàn)步驟
本文主要介紹了使用Docker部署LMS輕量級音樂服務(wù)器的實現(xiàn)步驟,為用戶提供了強(qiáng)大而靈活的音樂管理和播放體驗,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-07-07
使用Docker快速搭建Airflow+MySQL詳細(xì)步驟
本文詳細(xì)介紹了如何使用Docker和Docker Compose安裝并配置Apache Airflow 2.9.3,步驟包括創(chuàng)建項目目錄、編寫docker-compose.yml文件、創(chuàng)建所需目錄結(jié)構(gòu)、啟動和管理Docker容器,以及如何訪問和配置Airflow Web UI,感興趣的朋友跟隨小編一起看看吧2024-09-09
解決docker CMD/ENTRYPOINT執(zhí)行sh腳本報: not found/run.sh:
這篇文章主要介紹了解決docker CMD/ENTRYPOINT執(zhí)行sh腳本報: not found/run.sh:的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
Ubuntu系統(tǒng)下Docker鏡像構(gòu)建與容器管理的完整指南
這篇文章主要為大家詳細(xì)介紹了Docker鏡像構(gòu)建與容器管理的核心知識,主要內(nèi)容包括鏡像構(gòu)建,容器啟動,端口映射等,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2026-05-05
解決Docker啟動Elasticsearch7.x報錯的問題
這篇文章主要介紹了解決Docker啟動Elasticsearch7.x報錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
centOS中安裝docker-composer時報錯問題及解決
這篇文章主要介紹了centOS中安裝docker-composer時報錯問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-05-05

