翼度科技»论坛 云主机 服务器技术 查看内容

docker 部署 gitlab-ce 16.9.1的详细过程

4

主题

4

帖子

12

积分

新手上路

Rank: 1

积分
12
  1. gitlab/gitlab-ce(需要科学上网)
复制代码
拉取 gitlab-ce 镜像
  1. docker pull gitlab/gitlab-ce:16.9.1-ce.0
复制代码
  1. 查看镜像是不是有 [code]Volumes
复制代码
的配置[/code]
  1. docker inspect gitlab/gitlab-ce:16.9.1-ce.0 --format='{{.Config.Volumes}}'
复制代码
  1. 获取到类似如下的内容,说明有 [code]Volumes
复制代码
的配置[/code]
  1. map[/etc/gitlab:{} /var/log/gitlab:{} /var/opt/gitlab:{}]
复制代码
创建 gitlab-ce 持久化目录
  1. mkdir -p /data/gitlab-ce-root
  2. cat << EOF > /data/gitlab-ce-root/gitlab-ce.env
  3. GITLAB_BASE_DIR='/data/gitlab-ce-root'
  4. GITLAB_CONFIG_DIR="\${GITLAB_BASE_DIR}/conf"
  5. GITLAB_DATA_DIR="\${GITLAB_BASE_DIR}/data"
  6. GITLAB_LOG_DIR="\${GITLAB_BASE_DIR}/logs"
  7. EOF
复制代码
  1. 创建目录
复制代码
  1. source /data/gitlab-ce-root/gitlab-ce.env
  2. mkdir -p ${GITLAB_CONFIG_DIR} ${GITLAB_DATA_DIR} ${GITLAB_LOG_DIR}
复制代码
启停脚本配置


  • 通过
    1. start
    复制代码
    启动容器
  • 通过
    1. stop
    复制代码
    停止容器
  • 通过
    1. restart
    复制代码
    重启容器
  • 通过
    1. exec
    复制代码
    进入容器
  1. #!/usr/bin/env bash
  2. source /data/gitlab-ce-root/gitlab-ce.env
  3. GITLAB_PORT='8888'
  4. GITLAB_MEM=4G
  5. GITLAB_NAME='gitlab-ce'
  6. GITLAB_IMAGE='gitlab/gitlab-ce:16.9.1-ce.0'
  7. function useAge () {
  8.   echo "usage: [ bash ${0} start ] to start gitlab-ce"
  9.   echo "usage: [ bash ${0} stop ] to stop gitlab-ce"
  10.   echo "usage: [ bash ${0} restart ] to restart gitlab-ce"
  11.   echo "usage: [ bash ${0} exec ] to exec gitlab-ce"
  12.   exit 1
  13. }
  14. function optStart () {
  15. DOCKER_PS=$(docker ps -a | awk "/${GITLAB_NAME}/ {print \$NF}")
  16. if [[ "${DOCKER_PS}"x == "${GITLAB_NAME}"x ]];then
  17.   DOCKER_STATUS=$(docker ps -a --format="{{.Names}} {{.Status}}" | awk "/${GITLAB_NAME}/ {print \$2}")
  18.   if [[ "${DOCKER_STATUS}"x == "Up"x ]];then
  19.     echo "${GITLAB_NAME} is up"
  20.   else
  21.     docker start ${GITLAB_NAME} > /dev/null
  22.     if [ $? -eq 0 ];then
  23.       echo "${GITLAB_NAME} start success"
  24.     fi
  25.   fi
  26. else
  27.   docker run -d \
  28.     -p ${GITLAB_PORT}:80 \
  29.     -v ${GITLAB_CONFIG_DIR}:/etc/gitlab  \
  30.     -v ${GITLAB_LOG_DIR}:/var/log/gitlab \
  31.     -v ${GITLAB_DATA_DIR}:/var/opt/gitlab \
  32.     --restart always \
  33.     --privileged=true \
  34.     --name ${GITLAB_NAME} \
  35.     --memory=${GITLAB_MEM} \
  36.     ${GITLAB_IMAGE}
  37. fi
  38. }
  39. function optStop () {
  40.   docker stop ${GITLAB_NAME} > /dev/null
  41.   if [ $? -eq 0 ];then
  42.     echo "${GITLAB_NAME} stop success"
  43.   fi
  44. }
  45. function optExec () {
  46.   docker exec -it ${GITLAB_NAME} bash
  47. }
  48. if [ $# -eq 0 ];then
  49.   useAge
  50. fi
  51. case $1 in
  52.     'start' )
  53.         optStart
  54.         ;;
  55.     'stop' )
  56.         optStop
  57.         ;;
  58.     'restart' )
  59.         optStop
  60.         optStart
  61.         ;;
  62.     'exec' )
  63.         optExec
  64.         ;;
  65.     '*' )
  66.         useAge
  67.         ;;
  68. esac
复制代码
配置 gitlab-ce
  1. 进入 gitlab-ce 容器
复制代码
  1. docker exec -it gitlab-ce bash
复制代码
编辑 gitlab-ce 配置文件
  1. egrep -q '^external_url' /etc/gitlab/gitlab.rb || echo "external_url 'http://172.72.0.170'" >> /etc/gitlab/gitlab.rb
复制代码
重启 gitlab-ce
  1. 退出容器,然后重启容器
复制代码
  1. docker restart gitlab-ce
复制代码
  1. gitlab-ce 的重启时间非常的久,这个和硬件有关系,等到日志出现 [code]gitlab Reconfigured
复制代码
就说明重启完成了,就可以用浏览器访问 ip 地址去打开 gitlab 页面了[/code]
配置 root 密码
  1. 进入容器
复制代码
  1. docker exec -it gitlab-ce bash
复制代码
  1. 进入控制台
复制代码
  1. gitlab-rails console -e production
复制代码
  1. 耐心等待,等他出现下面的内容
复制代码
  1. --------------------------------------------------------------------------------
  2. Ruby:         ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x86_64-linux]
  3. GitLab:       16.9.1 (0ef8ba69a8f) FOSS
  4. GitLab Shell: 14.33.0
  5. PostgreSQL:   14.10
  6. ------------------------------------------------------------[ booted in 44.67s ]
  7. Loading production environment (Rails 7.0.8)
  8. irb(main):001:0>
复制代码
  1. 查询管理员的名字
复制代码
  1. user = User.where(id:1).first
复制代码
  1. 返回如下的内容
复制代码
  1. => #<User id:1 @root>
复制代码
  1. 设置密码
复制代码
  1. user.password='Password@123'
复制代码
保存密码,返回
  1. true
复制代码
表示修改成功
  1. user.save!
复制代码
设置中文

  1. 找到 [code]Localization
复制代码
,把
  1. Language
复制代码
换成简体中文,然后
  1. save change
复制代码
[/code]
  1. 刷新一下页面,就显示中文了
复制代码

到此这篇关于docker 部署 gitlab-ce 16.9.1的文章就介绍到这了,更多相关docker 部署 gitlab-ce内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:https://www.jb51.net/server/3191370ki.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
来自手机

举报 回复 使用道具