docker部署gitlab[通俗易懂]

docker部署gitlab[通俗易懂]这篇文章用来记录下我在使用docker部署gitlab时候遇到的一些坑。先介绍下我的环境:阿里云的轻量应用服务器:2核4G(好像最低要求配置,之前用2核2G的部署,直接给内存溢出),centos7.6第一步:安装docker具体安装步骤参考的是docker官方文档,主要就几个步骤就可以完成安装。1、…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

这篇文章用来记录下我在使用docker部署gitlab时候遇到的一些坑。
先介绍下我的环境:
阿里云的轻量应用服务器:2核4G(好像最低要求配置,之前用2核2G的部署,直接给内存溢出),centos7.6

第一步:安装docker

具体安装步骤参考的是docker官方文档,主要就几个步骤就可以完成安装。
1、卸载旧版本

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2、安装yum-utils包

sudo yum install -y yum-utils
//配置镜像地址
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
//推荐使用阿里云的地址
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

3、安装 Docker 引擎

sudo yum install docker-ce docker-ce-cli containerd.io

按照提示输入y,就会完成安装
4、启动 Docker

sudo systemctl start docker

5、验证是否安装成功

sudo docker run hello-world

docker会拉取hello-world镜像并执行,输出
在这里插入图片描述
表示docker安装成功,可以正常使用

centos的 docker官方文档

第二步:使用docker部署gitlab

1、设置卷位置
对于 Linux 用户,将路径设置为/srv/gitlab:
export GITLAB_HOME=/srv/gitlab
对于 macOS 用户,请使用用户的$HOME/gitlab目录:
export GITLAB_HOME=$HOME/gitlab

2、使用 Docker 引擎安装 GitLab

sudo docker run --detach \
  --hostname 替换为你的域名或云服务器的公网ip \
  --publish 443:443 --publish 替换为你想要的端口(如8082):80 --publish 替换为你想要的端口(如8022):22 \
  --name gitlab \
  --restart always \
  --volume $GITLAB_HOME/config:/etc/gitlab \
  --volume $GITLAB_HOME/logs:/var/log/gitlab \
  --volume $GITLAB_HOME/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

–hostname 设置访问的地址
–name 设置镜像的别名
–restart 设置系统重启时的操作,always 表示跟随系统启动而启动
gitlab-ce: 表示安装的是gitlab的社区版,免费的,gitlab-ee:表示商业版,需要付费

3、等待gitlab下载安装完
安装完后,通过命令 docker container ls 可以查看当前容器的状态,会提示starting,表示gitlab正在启动中

gitlab的docker部署的官方文档:gitlab docker方式部署

好了,到现在为止,按照官方文档的操作就已经完成

也是踩坑的开始

按照文档操作完后,输入部署时候设置的地址,访问失败
坑1: ERR_UNSAFE_PORT

--publish 10080:80 

当端口设置为10080的时,浏览器访问会提示ERR_UNSAFE_PORT,这是因为浏览器默认为这个端口为非安全端口,所以不能使用10080

坑2: ERR_CONNECTION_RESET
端口设置为8082时,访问时提示ERR_CONNECTION_RESET,然后安装网上提示,通过firewall-cmd来设置防火墙放行端口,如:

firewall-cmd --zone=public --add-port=8082/tcp --permanent

但是,并没有什么用,还是访问不了,真是头大
最后还是误打误撞的被解决掉了
在这里插入图片描述
需要在服务区控制台的防火墙手动的添加放行端口

坑3: 新版的gitlab的root初始密码,在第一次登录的时候不能手动设置
在这里插入图片描述
在可以访问部署好的gitlab后,访问地址,傻眼了,怎么和别人的不一样,怎么不能设置root密码。然后翻看gitlab打印的日志
在这里插入图片描述
它提示把root密码存放到了这个文件内,可以通过命令打开复制密码登录

vim /etc/gitlab/initial_root_password

但是,我在docker里面的gitlab并没有找到这个文件,在非docker方式部署的gitlab,倒是可以找到这个文件。这就很奔溃。
然后,我就索性重置root的密码,机智吧[?]

重置gitlab的登录密码步骤:
1、获取容器的id或者别名

docker ps 

2、进入容器

//gitlab为一开始设置的容器别名,也可以使用容器id
docker exec -it gitlab bash

3、启动Rails控制台

gitlab-rails console -e production

等待执行完,会进入输入模式
4、获取用户,设置密码

//第一个默认为root
user = User.where(id: 1).first
//必须同时更改密码和password_confirmation才能使其正常工作
user.password = '新的密码'
user.password_confirmation = '新的密码'

5、保存

//保存,稍等一会就会执行刚才输入的代码
user.save!

6、退出容器

ctrl+d

然后就可以使用刚才输入的密码登录root账号了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184798.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker 搭建drone + gitee 的CI/CD

    docker 搭建drone + gitee 的CI/CD准备创建OAuth应用程序创建一个GiteeOAuth应用程序。ConsumerKey和ConsumerSecret用于授权访问Gitee资源。授权回调URL必须与以下格式和路径匹配,并且必须使用您的确切服务器方案和主机。创建共享密钥创建一个共享密钥来验证跑步者和您的中央无人机服务器之间的通信。您可以使用openssl生成共享密钥:$opensslrand-hex16bea26a2221fd8090ea38720fc445ec.

    2022年8月15日
    15
  • docker部署web项目_小钢炮docker安装web

    docker部署web项目_小钢炮docker安装web前言前面我们运行的容器并没有一些什么特别的用处。接下来让我们尝试使用docker构建一个web应用程序。我们将在docker容器中运行一个PythonFlask应用来运行一个web

    2022年7月29日
    2
  • 肝了一晚帮她搭建完个人网站——利用Docker在单节点上实现内外网隔离网站部署(Nginx、WordPress、MySQL)

    肝了一晚帮她搭建完个人网站——利用Docker在单节点上实现内外网隔离网站部署(Nginx、Wordpress、MySQL)目录1、前言2、注册3、重置服务器实例密码4、配置安全规则5、登录服务器6、更新系统7、安装Docker8、创建Docker子网络9、创建子网内的MySQL实例10、创建子网内的WordPress实例11、创建Nginx反向代理实例12、查看状态13、配置WordPress14、发布站点15、访问站点16、Docker命令行日常更新18、总结1、前言  同事小姐姐琦琦毕业后就应聘来到我们公司做项目助理,跟我分在一个项目组。琦琦自身先天条件就很好,长得耐看,身高1.65,偏瘦,整体算中等偏上的水平吧。她平

    2022年5月15日
    65
  • Docker安装RabbitMQ并安装延时队列插件

    Docker安装RabbitMQ并安装延时队列插件一、RabbitMQ简介RabbitMQ是由erlang语言开发,基于AMQP(AdvancedMessageQueue高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。二、docker安装RabbitMQ1、搜索镜像dockersearchrabbitmq2、拉取并运行容器dockerrun-dit–namerabbitmq-eRABBITMQ_DEFAULT_USER=guest-eR

    2022年5月10日
    95
  • docker-compose教程(安装,使用, 快速入门)

    docker-compose教程(安装,使用, 快速入门)教程基于ubuntu下最新的compose版本3参考:https://docs.docker.com/compose/overview/1.Compose介绍DockerCompose是一个用来定义和运行复杂应用的Docker工具。一个使用Docker容器的应用,通常由多个容器组成。使用DockerCompose不再需要使用shell脚本来启动容器。Compose通过一个配…

    2022年6月14日
    26
  • Docker系列七: 使用Humpback管理工具管理容器(一款UI管理工具)

    Docker系列七: 使用Humpback管理工具管理容器(一款UI管理工具)Humpback可以帮助企业快速搭建轻量级的Docker容器云管理平台,若将你的Docker主机接入到Humpback平台中,就能够为你带来更快捷稳定的容器操作体验。功能特点Web操

    2022年8月2日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号