Docker方式安装GitLab教程

 更新时间:2025年03月03日 10:45:05   作者:博刻  
在Docker容器中安装GitLab的步骤包括下载镜像、配置数据目录、启动容器、获取初始密码并设置管理员密码,GitLab镜像不包含邮件传输代理,需额外配置

Docker方式安装GitLab

GitLab 提供了一个官方 Docker 镜像,该镜像包含了 GitLab 所需的所有服务,并以单个容器的形式运行。

GitLab 官方 Docker 镜像地址:

注意事项

  • GitLab Docker 镜像默认不包含邮件传输代理 (MTA),如 Postfix 或 Sendmail。
  • 推荐使用独立容器部署 MTA,或者直接在 GitLab 容器中安装 MTA,尽管这样会增加维护难度。

先决条件

确保您的环境中已经安装了 Docker。

配置 GitLab 数据目录

在安装之前,需要配置一个目录来存储 GitLab 配置、日志和数据文件。建议设置一个环境变量 $GITLAB_HOME,指向该目录。确保该目录存在并且权限正确。

  • 对于 Linux 用户,设置为 /srv/gitlab
export GITLAB_HOME=/srv/gitlab
  • 对于 macOS 用户,设置为 $HOME/gitlab
export GITLAB_HOME=$HOME/gitlab

确保将 $GITLAB_HOME 环境变量添加到您的 shell 配置文件中,以便在后续会话中生效:

GitLab 使用挂载卷来存储数据,下面是各个卷的说明:

本地路径容器路径用途
$GITLAB_HOME/data/var/opt/gitlab存储 GitLab 数据
$GITLAB_HOME/logs/var/log/gitlab存储 GitLab 日志
$GITLAB_HOME/config/etc/gitlab存储 GitLab 配置文件

安装 GitLab

GitLab Docker 镜像可以通过多种方式安装,包括直接使用 Docker Engine、Docker Compose 或 Docker Swarm。

下面是使用 Docker Engine 安装 GitLab 的步骤。

使用 Docker Engine 安装 GitLab

1.设置好 $GITLAB_HOME 环境变量后,运行以下命令启动 GitLab 容器:

sudo docker run --detach \
  --hostname gitlab.example.com \
  --publish 443:443 --publish 80:80 --publish 22: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 \
  --shm-size 256m \
  gitlab/gitlab-ee:latest

该命令会:

  • 下载并启动 GitLab 容器。
  • 映射 GitLab 所需的端口:80(HTTP)、443(HTTPS)、22(SSH)。
  • 使用 $GITLAB_HOME 目录挂载容器的配置、日志和数据。
  • 设置容器自动重启。

2.如果您的系统使用 SELinux,您需要加上 :Z 标记来调整权限:

sudo docker run --detach \
  --hostname gitlab.example.com \
  --publish 443:443 --publish 80:80 --publish 22:22 \
  --name gitlab \
  --restart always \
  --volume $GITLAB_HOME/config:/etc/gitlab:Z \
  --volume $GITLAB_HOME/logs:/var/log/gitlab:Z \
  --volume $GITLAB_HOME/data:/var/opt/gitlab:Z \
  --shm-size 256m \
  gitlab/gitlab-ee:latest

这确保了 Docker 容器能在挂载的卷中创建配置文件。

查看安装日志

初始化过程可能需要一些时间。

您可以使用以下命令查看容器的实时日志:

sudo docker logs -f gitlab

获取 GitLab 初始密码

容器启动后,您可以通过以下命令获取 GitLab root 用户的初始密码:

sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

注意

  • 该密码在容器启动 24 小时后会自动被删除。
  • 建议尽早登录并修改密码。

访问 GitLab

安装完成后,您可以通过浏览器访问 GitLab。

例如,若您使用了 gitlab.example.com 作为主机名,直接访问 http://gitlab.example.com 即可。

如果您在 macOS 上使用 Boot2Docker,可以访问 http://192.168.59.103

管理员登录后设置中文

总结

通过以上步骤,您可以在 Docker 容器中成功部署 GitLab。注意,GitLab 镜像并不包含邮件传输代理 (MTA),因此需要额外配置邮件发送功能。另外,确保在 Docker 容器启动后及时获取初始密码并进行安全设置。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详细讲解Docker虚拟化

    详细讲解Docker虚拟化

    本文详细讲解了Docker的虚拟化,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • docker镜像如何启动es/kibana

    docker镜像如何启动es/kibana

    这篇文章主要介绍了docker镜像如何启动es/kibana问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 树莓派4b ubuntu19 server 安装docker-ce的安装步骤

    树莓派4b ubuntu19 server 安装docker-ce的安装步骤

    这篇文章主要介绍了树莓派4b ubuntu19 server 安装docker-ce的安装步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 使用rpm安装指定版本docker(1.12.6)的详细步骤

    使用rpm安装指定版本docker(1.12.6)的详细步骤

    为了防止安装高版本的docker引发的错误,需要安装1.12.6版本的docker,下面小编给大家带来了使用rpm安装指定版本的docker(1.12.6)的步骤,感兴趣的朋友一起看看吧
    2021-08-08
  • Docker如何导出某时间段日志

    Docker如何导出某时间段日志

    这篇文章主要介绍了Docker如何导出某时间段日志问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • 解析Docker 下拉取oracle 11g镜像配置的问题

    解析Docker 下拉取oracle 11g镜像配置的问题

    这篇文章主要介绍了Docker 下拉取oracle 11g镜像配置的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • Docker网络配置及部署SpringCloud项目详解

    Docker网络配置及部署SpringCloud项目详解

    bridge模式是Docker默认的网络设置,此模式会为每一个容器分配Network Namespace、设置IP等,并将一个主机上的Docker容器连接到一个虚拟网桥上,下面这篇文章主要给大家介绍了关于Docker网络配置及部署SpringCloud项目的相关资料,需要的朋友可以参考下
    2023-01-01
  • Docker查看镜像的Dockerfile(docker history和docker inspect命令)

    Docker查看镜像的Dockerfile(docker history和docker inspec

    这篇文章主要给大家介绍了关于Docker查看镜像的Dockerfile的相关资料,文中主要运用的是docker history和docker inspect命令,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-05-05
  • docker中的环境变量使用与常见问题解决方案

    docker中的环境变量使用与常见问题解决方案

    这篇文章主要给大家介绍了关于docker中环境变量使用与常见问题解决方案的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用docker具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • 使用Docker镜像构建Go应用的实现方法

    使用Docker镜像构建Go应用的实现方法

    本文主要介绍了使用Docker镜像构建Go应用的实现方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03

最新评论