Docker 搭建 Gitlab 服务器(修改端口)

这篇具有很好参考价值的文章主要介绍了Docker 搭建 Gitlab 服务器(修改端口)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境
Docker version 23.0.3
GitLab Community Edition 15.10.2
Gitlab安装教程

安装GitLab官方推荐至少4G的内存,否则可能会卡顿或者运行非常慢,建议采用4G以上的云服务进行测试,或者本地搭建虚拟机的方式来做。

搜索Gitlab镜像
docker search gitlab
下载Gitlab社区免费版最新镜像

说明:ce 表示社区免费版 ,ee 表示企业付费版

docker pull gitlab/gitlab-ce
运行Gitlab镜像
docker run -d \
--name gitlab \
--restart always \
-p 8443:443 -p 8080:80 -p 8022:22 \
-v /home/gitlab/config:/etc/gitlab \
-v /home/gitlab/logs:/var/log/gitlab \
-v /home/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce

参数说明

  • -d 指定后台运行
  • –hostname 指定主机名
  • –name 指定容器名
  • -p 端口映射;https端口:443;http端口:80;ssh端口:22
  • –restart always 容器停止后的重启策略: 容器退出时总是重启
  • -v 指定挂载存储卷首先在宿主主机创建对应的目录
配置

按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb。
接下来的配置请在容器内进行修改,不要在挂载到宿主机的文件上进行修改。否则可能出现配置更新不到容器内,或者是不能即时更新到容器内,导致gitlab启动成功,但是无法访问


#进容器内部
docker exec -it gitlab /bin/bash
 
#修改gitlab.rb
vi /etc/gitlab/gitlab.rb
 
#加入如下
#gitlab访问地址,可以写域名。如果端口不写的话默认为80端口,这里的端口号要与启动容器时的端口映射相对应
external_url 'http://192.168.124.194'
#ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '192.168.124.194'
#ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 8022
 
# 让配置生效
gitlab-ctl reconfigure
#重启gitlab 
gitlab-ctl restart
#退出容器 
exit

有些博主说还需要修改/opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml这个文件中的端口,其实没必要,gitlab-ctl reconfigure这一步已经跟新过来了。

浏览器访问

浏览器访问http://192.168.124.194:8080就可以看到了
docker git服务器,docker,服务器,gitlab
第一次访问,账号是root,密码在容器中/etc/gitlab/initial_root_password或主机/home/gitlab/config/initial_root_password,这个文件24小时后会删除。

修改外部访问端口

修改外部访问端口其实就是修改docker对gitlab容器的端口映射。

方法一: 删除原有容器,重新建新容器

这个解决方案最为简单,把原来的容器删掉,重新建一个。当然这次不要忘记加上端口映射。

# 删除容器
docker rm gitlab
# 构建容器,命令参考上面,注意修改端口号

优缺点:优点是简单快捷,在测试环境使用较多。缺点是如果是数据库镜像,那重新建一个又要重新配置一次,就会比较麻烦。

方法二:修改容器配置文件,重启docker服务

我们需要新增一个端口,就是通过这个方式处理的,亲测有效。
首先关闭docker服务

systemctl stop docker

关闭之后,找到容器的配置文件路径,通常都是安装在这个路径下方

cd /var/lib/docker/containers

然后我们在ls查看一下容器,找我们想要修改的容器ID
进入后有个 hostconfig.json 文件
docker git服务器,docker,服务器,gitlab
如上图所示,文件中其中有一项是PortBindings:

  • 80/tcp对应的是容器内部的80端口,
  • HostPort对应的是映射到宿主机的端口8080。

按需修改端口,然后重启docker服务,再启动容器服务就可以了

systemctl restart docker

优缺点:这个方法的优点是没有副作用,操作简单。缺点是需要重启整个docker服务,如果在同一个宿主机上运行着多个容器服务的话,就会影响其他容器服务。
注意:一定要先停掉docker修改配置才能成功。

方法三:利用docker commit新构镜像

docker commit:把一个容器的文件改动和配置信息commit到一个新的镜像。这个在测试的时候会非常有用,把容器所有的文件改动和配置信息导入成一个新的docker镜像,然后用这个新的镜像重起一个容器,这对之前的容器不会有任何影响。
停止docker容器

docker stop gitlab

commit该docker容器

docker commit gitlab new_gitlab:tag

重新起一个容器

docker run ...

优缺点:这种方式的优点是不会影响统一宿主机上的其他容器,缺点是管理起来显得比较乱,没有第二种方法那么直观

修改root密码
# 进入容器内
gitlab-rails console -e production #等待ruby控制台出来,时间还是挺长的,我等了有十多分钟!

docker git服务器,docker,服务器,gitlab

user = User.where(id: 1).first
user.password="bnadiidphq" #修改密码为bnadiidphq, 密码太简单等下保存不了
user.password_confirmation="bnadiidphq" #确认密码
user.save! #保存,!不能少
quit #退出
注意点

主要是要注意docker跟容器内的端口映射,我们外面访问的端口号,并不是容器中的端口号,通过映射关系才能访问到,如上面的8080端口,映射到容器内的80端口一样。
如果按上面的方式还没成功,建议查看下端口占用情况

netstat -nultp

docker git服务器,docker,服务器,gitlab
还有就是防火墙是否开着,如果开着,就得配置防火墙开放服务器的端口
相关命令如下:文章来源地址https://www.toymoban.com/news/detail-705655.html

systemctl status firewalld #查看防火墙状态
systemctl start firewalld #开启防火墙
systemctl stop firewalld #关闭防火墙
firewall-cmd --list-ports #查看开放端口
#设置8082-8084端口开放
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --list-ports #再次查看是否开放

到了这里,关于Docker 搭建 Gitlab 服务器(修改端口)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker (CentOS)配置rabbitMQ 服务器访问15672端口显示服务器拒绝连接

    在自己的服务器上配置rabbitMq时已经启动成功了,但是访问就是出错。 使用以下命令启动。  启动后可以看到已经启动成功。 输入地址去访问看到被拒绝访问了  那么有三种可能性:1、你的防火墙端口没有开放 使用命令开放端口  2、你的服务器安全组没有添加该端口,去你

    2024年02月14日
    浏览(45)
  • docker部署,服务器本地访问正常,无法通过ip+端口访问

    在服务器使用docker部署应用的时候,网站本地访问正常,但是无法使用IP地址访问,防火墙端口已经放行(本人服务器系统CentOS 7) 经过一番查找,发现Linux系统中有一个net.ipv4.ip_forward参数,可以设置为0和1 出于安全考虑,Linux系统默认是禁止数据包转发的。所谓转发即当主机

    2024年02月13日
    浏览(64)
  • 记录liunx服务器和docker时区修改

    我的博客是部署在docker里面的,然后我发现评论和留言的时间和北京时间是有差别的,相差8个小时,然后发现是因为容器中的时区设置与服务器是不一致的,所以需要设置一下。 查看当前时区设置 使用 date 命令查看当前系统时间,发现当前时区设置为UTC。 列出可用的时区列

    2024年02月10日
    浏览(41)
  • SRS视频媒体服务器-docker启动:更换默认端口时的错误

    在使用srs视频服务器时,一直都是使用默认的端口配置。但是,这些默认端口在某些时候可能已经被占用了,就需要更改端口了。 注意注意注意:使用docker启动srs,在更换端口一定要下面的内容。 网络拓扑图:   启动命令:外部端口1936映射内部1935  和 外部端口8001映射内部

    2024年02月13日
    浏览(48)
  • 【Docker】docker搭建Ftp服务器,真香

    方便公司正常内网传递大文件,FTP服务就派上用场了,ftp分为主动模式(PORT)和被动模式(PASV)。主动模式使用20和21端口,其中20为数据端口,21为控制端口。被动模式使用21控制端口和一个其他随机端口作数据端口。主动模式因为防火墙的原因,经常会断掉,因此被动模式是

    2024年02月05日
    浏览(55)
  • 使用docker搭建kms服务器

    仅个人工作时对操作步骤进行记录,无任何安全、可行性保证,转载请标注出处! 配置IP地址,使其可正常上网。 2.配置yum源 #安装yum工具 yum -y install yum-utils #下载配置阿里的yum源 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo #下载配置docker的

    2024年02月04日
    浏览(43)
  • Docker搭建django调试服务器

    MySite –Dockerfile –requirement.txt –docker-compose.yml –web/ ----myweb/ ----manage.py 创建Dockerfile: 注意: “groupadd -g 1000 web useradd -u 1000 -g web weber”, 其中的\\\"-g 1000\\\"和\\\"-u 1000\\\"分別代表用户组和用户, 对应docker主机的用户(可使用linux命令id查看) 创建requirement.txt 创建docker-compose.yml COPY项目文件到

    2024年02月05日
    浏览(45)
  • Docker搭建coturn穿透服务器

        操作系统:Linux centos7(x86_64)     docker版本:docker-17.03.1 拉取coturn镜像 编写Dockerfile配置文件 编写turnserver.conf配置文件:vim turnserver.conf 打包镜像  运行容器 这里我们需要指定网络模式为host模式 如果运行后出现权限不足的情况,可以在运行容器时添加“--security-o

    2024年04月11日
    浏览(62)
  • Docker Tomcat 搭建文件服务器

    本文基于openwrt上进行。 步骤 1: 安装 Docker 如果尚未安装Docker,首先需要安装Docker。根据你的操作系统,参考Docker官方文档来完成安装, 这里不做详细介绍。 步骤 2: 拉去docker Tomcat镜像 进入openwrt管理界面,docker选项中 拉取最新的tomcat镜像。 步骤 3: 配置并运行Tomcat 在容器选项

    2024年02月06日
    浏览(38)
  • docker搭建在线Markdown服务器

    2024年02月13日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包