docker 安装与配置 gitlab

前提条件

  • Docker :确保你已经安装了 Docker 和 Docker Compose。可以通过以下命令来检查是否安装 Docker:

    bash 复制代码
    docker --version

1. 拉取 GitLab Docker 镜像

首先,我们需要拉取 GitLab 的官方 Docker 镜像。可以使用以下命令来获取 GitLab CE(社区版)镜像:

bash 复制代码
docker pull gitlab/gitlab-ce

如果你想要安装 GitLab EE(企业版),则需要:

bash 复制代码
docker pull gitlab/gitlab-ee

2. 运行 GitLab 容器

接下来,可以通过运行以下命令来启动 GitLab 实例。为了确保数据持久化,我们需要将宿主机的目录挂载到容器中,以便 GitLab 的配置和数据能够在容器重启后保持。

bash 复制代码
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 目录存在,如果没有,可以先创建:

bash 复制代码
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:

bash 复制代码
external_url 'http://gitlab.example.com'

修改后,需要重新配置 GitLab 来使更改生效:

bash 复制代码
docker exec -it gitlab gitlab-ctl reconfigure

5. 获取 GitLab 容器的日志(如果有问题)

如果你遇到问题,可以通过以下命令查看 GitLab 容器的日志:

bash 复制代码
docker logs -f gitlab

6. 停止和启动 GitLab

如果你需要停止或启动 GitLab 容器,可以使用以下命令:

  • 停止容器:

    bash 复制代码
    docker stop gitlab
  • 启动容器:

    bash 复制代码
    docker start gitlab

7. 升级 GitLab

要升级 GitLab 版本,只需拉取新版本的镜像并重新启动容器:

bash 复制代码
docker pull gitlab/gitlab-ce:latest
docker stop gitlab
docker rm gitlab
docker run --detach ... # 使用之前的 docker run 命令重新启动容器

以上步骤应该帮助在 Docker 中安装并运行 GitLab。

相关推荐
Ramboooooooo33 分钟前
SkyWalking-10.4.0 Docker + Nacos + Elasticsearch 生产级部署手册
elasticsearch·docker·skywalking
修罗王16 小时前
Linux Docker 服务管理与排查实战指南(新手速查版)
运维·docker
张龙68718 小时前
Docker 镜像瘦身实战:从 1.2GB 到 128MB,我踩过的 7 个坑和一套可复制的方法论
运维·后端·docker
杨浦老苏20 小时前
开源堡垒机 Warpgate:一个容器搞定 SSH、MySQL 和 Web 访问
运维·docker·ssh·堡垒机·群晖
ERD Online21 小时前
docker-compose 一键部署的 MIT 开源数据库建模平台
数据库·docker·开源
三言老师1 天前
CentOS7.9 + Kubernetes 1.18.20 -清理所有 docker / containerd 残留
docker·容器·kubernetes
circuitsosk1 天前
从Docker到Kubernetes:AI应用服务化与弹性伸缩的落地实践
人工智能·docker·kubernetes·ai应用部署
showyoui1 天前
K8s 集群迁移踩坑:Istio 升级后 nginx 403
网络·docker·kubernetes·istio·service_mesh
golang学习记2 天前
Go 项目使用docker compose的正确方式
开发语言·docker·golang
雨声不在2 天前
私有 Docker Registry 排障实录:两个隐蔽的坑
docker·容器