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}}'
獲取到類(lèi)似如下的內(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ō)明重啟完成了,就可以用瀏覽器訪(fǎng)問(wèn) ip 地址去打開(kāi) 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>
查詢(xún)管理員的名字
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)文章希望大家以后多多支持腳本之家!
- Win10環(huán)境借助DockerDesktop部署大數(shù)據(jù)時(shí)序數(shù)據(jù)庫(kù)Apache Druid的操作方法
- 在windows上用docker?desktop安裝部署StoneDB
- Docker快速部署gitlab+gitlab-runner實(shí)例
- 使用docker搭建gitlab并且開(kāi)放到公網(wǎng)
- 如何修改Docker部署gitlab的外部訪(fǎng)問(wèn)地址和端口
- Docker搭建私有GitLab服務(wù)的方法
- 解決docker搭建gitlab時(shí)容器不停重啟的問(wèn)題
- 如何使用Docker Desktop部署GitLab
相關(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)槟銢](méi)有權(quán)限拉取對(duì)應(yīng)的鏡像,文中將解決辦法介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12Dockerfile構(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-08Docker綁定固定IP/跨主機(jī)容器互訪(fǎng)操作
這篇文章主要介紹了Docker綁定固定IP/跨主機(jī)容器互訪(fǎng)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11Docker部署Microsoft Sql Server詳細(xì)步驟
大家好,本篇文章主要講的是Docker部署Microsoft Sql Server詳細(xì)步驟,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下,方便下次瀏覽2021-12-12docker默認(rèn)存儲(chǔ)路徑修改方法總結(jié)
docker默認(rèn)存儲(chǔ)路徑是/var/lib/docker,占用服務(wù)器根分區(qū),容易導(dǎo)致磁盤(pán)空間占滿(mǎn),下面這篇文章主要給大家介紹了關(guān)于docker默認(rèn)存儲(chǔ)路徑修改方法的相關(guān)資料,需要的朋友可以參考下2023-10-10使用Docker進(jìn)行node開(kāi)發(fā)時(shí)實(shí)現(xiàn)熱加載功能
這篇文章主要介紹了使用docker進(jìn)行vue、react或者node開(kāi)發(fā)時(shí)實(shí)現(xiàn)熱加載功能,即宿主機(jī)文件修改之后實(shí)時(shí)刷新或者實(shí)時(shí)重啟服務(wù),文中通過(guò)代碼示例介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2024-09-09