docker 安装与配置 gitlab
前提条件
- Docker:确保你已经安装了 Docker 和 Docker Compose。可以通过以下命令来检查是否安装 Docker:
docker --version
1. 拉取 GitLab Docker 镜像
首先,我们需要拉取 GitLab 的官方 Docker 镜像。可以使用以下命令来获取 GitLab CE(社区版)镜像:
docker pull gitlab/gitlab-ce
如果你想要安装 GitLab EE(企业版),则需要:
docker pull gitlab/gitlab-ee
2. 运行 GitLab 容器
接下来,可以通过运行以下命令来启动 GitLab 实例。为了确保数据持久化,我们需要将宿主机的目录挂载到容器中,以便 GitLab 的配置和数据能够在容器重启后保持。
docker run --detach \--hostname gitlab.example.com \--publish 443:443 --publish 80:80 --publish 22:22 \--name gitlab \--restart always \--volume /srv/gitlab/config:/etc/gitlab \--volume /srv/gitlab/logs:/var/log/gitlab \--volume /srv/gitlab/data:/var/opt/gitlab \gitlab/gitlab-ce:latest
参数说明:
--hostname gitlab.example.com
: 设置 GitLab 的主机名,可以根据需要更改。--publish 443:443 --publish 80:80 --publish 22:22
: 将容器的端口 443(HTTPS)、80(HTTP)和 22(SSH)映射到宿主机。--name gitlab
: 设置容器名称为gitlab
。--restart always
: 设置容器在 Docker 重启时自动重启。--volume /srv/gitlab/config:/etc/gitlab
: 挂载配置文件目录。--volume /srv/gitlab/logs:/var/log/gitlab
: 挂载日志文件目录。--volume /srv/gitlab/data:/var/opt/gitlab
: 挂载数据目录。
确保 /srv/gitlab
目录存在,如果没有,可以先创建:
sudo mkdir -p /srv/gitlab/config /srv/gitlab/logs /srv/gitlab/data
3. 访问 GitLab
安装完成后,GitLab 应该可以通过浏览器访问了。根据上述配置,可以通过以下地址访问 GitLab:
- HTTP:
http://<your-server-ip>
- HTTPS:
https://<your-server-ip>
默认情况下,GitLab 的管理员账户用户名是 root
,密码在第一次访问时会要求设置。
4. 配置 GitLab(可选)
GitLab 在第一次启动时会初始化配置并生成相应的配置文件。可以在 /srv/gitlab/config/gitlab.rb
文件中进一步配置 GitLab 的设置。常见的设置包括:
- 更改外部 URL (
external_url
), - 配置 SMTP 邮件服务器,
- 配置备份等。
例如,修改外部 URL:
external_url 'http://gitlab.example.com'
修改后,需要重新配置 GitLab 来使更改生效:
docker exec -it gitlab gitlab-ctl reconfigure
5. 获取 GitLab 容器的日志(如果有问题)
如果你遇到问题,可以通过以下命令查看 GitLab 容器的日志:
docker logs -f gitlab
6. 停止和启动 GitLab
如果你需要停止或启动 GitLab 容器,可以使用以下命令:
-
停止容器:
docker stop gitlab
-
启动容器:
docker start gitlab
7. 升级 GitLab
要升级 GitLab 版本,只需拉取新版本的镜像并重新启动容器:
docker pull gitlab/gitlab-ce:latest
docker stop gitlab
docker rm gitlab
docker run --detach ... # 使用之前的 docker run 命令重新启动容器
以上步骤应该帮助在 Docker 中安装并运行 GitLab。