Docker方式安装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 容器启动后及时获取初始密码并进行安全设置。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。