docker 部署 gitlab-ce 16.9.1的详细过程
|
拉取 gitlab-ce 镜像
- docker pull gitlab/gitlab-ce:16.9.1-ce.0
复制代码 的配置[/code]- docker inspect gitlab/gitlab-ce:16.9.1-ce.0 --format='{{.Config.Volumes}}'
复制代码- 获取到类似如下的内容,说明有 [code]Volumes
复制代码 的配置[/code]- map[/etc/gitlab:{} /var/log/gitlab:{} /var/opt/gitlab:{}]
复制代码 创建 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
复制代码- source /data/gitlab-ce-root/gitlab-ce.env
- mkdir -p ${GITLAB_CONFIG_DIR} ${GITLAB_DATA_DIR} ${GITLAB_LOG_DIR}
复制代码 启停脚本配置
- 通过启动容器
- 通过停止容器
- 通过重启容器
- 通过进入容器
- #!/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
- 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
- gitlab-ce 的重启时间非常的久,这个和硬件有关系,等到日志出现 [code]gitlab Reconfigured
复制代码 就说明重启完成了,就可以用浏览器访问 ip 地址去打开 gitlab 页面了[/code]
配置 root 密码
- docker exec -it gitlab-ce bash
复制代码- gitlab-rails console -e production
复制代码- --------------------------------------------------------------------------------
- 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
复制代码- user.password='Password@123'
复制代码 保存密码,返回表示修改成功设置中文
,把换成简体中文,然后[/code]
到此这篇关于docker 部署 gitlab-ce 16.9.1的文章就介绍到这了,更多相关docker 部署 gitlab-ce内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
来源:https://www.jb51.net/server/3191370ki.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|
|
|
发表于 2024-4-14 14:57:31
来自手机
举报
回复
分享
|
|
|
|