docker?部署?gitlab-ce?16.9.1的詳細過程
gitlab/gitlab-ce(需要科學上網(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
進入容器
#!/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
進入 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 密碼
進入容器
docker exec -it gitlab-ce bash
進入控制臺
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>
設置密碼
user.password='Password@123'
保存密碼,返回 true
表示修改成功
user.save!
設置中文
找到
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?pull出現(xiàn)錯誤:Error?response?from?daemon
這篇文章主要給大家介紹了關(guān)于解決docker?pull出現(xiàn)錯誤:Error?response?from?daemon的相關(guān)資料,這個錯誤提示一般是因為你沒有權(quán)限拉取對應的鏡像,文中將解決辦法介紹的非常詳細,需要的朋友可以參考下2023-12-12Dockerfile構(gòu)建Redis鏡像的方法實現(xiàn)(yum方式)
本文主要介紹了Dockerfile構(gòu)建Redis鏡像的方法實現(xiàn)(yum方式),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-08-08Docker部署Microsoft Sql Server詳細步驟
大家好,本篇文章主要講的是Docker部署Microsoft Sql Server詳細步驟,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12使用Docker進行node開發(fā)時實現(xiàn)熱加載功能
這篇文章主要介紹了使用docker進行vue、react或者node開發(fā)時實現(xiàn)熱加載功能,即宿主機文件修改之后實時刷新或者實時重啟服務,文中通過代碼示例介紹的非常詳細,具有一定的參考價值,需要的朋友可以參考下2024-09-09