Despliegue de GitLab con Docker - Guía Completa

Despliegue de GitLab con Docker - Guía Completa

1 Instalación de Docker

# Instalar dependencias requeridas
yum install -y yum-utils device-mapper-persistent-data lvm2

# Configurar repositorio oficial
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# Instalar Docker Engine
yum install -y docker-ce docker-ce-cli containerd.io

# Habilitar inicio automático
systemctl enable docker.service

# Iniciar servicio Docker
systemctl start docker.service

# Verificar instalación
docker --version

2 Obtener imagen de GitLab

docker pull gitlab/gitlab-ce:14.8.4-ce.0

3 Inicializar contenedor

mkdir -p /srv/gitlab/{config,logs,data}

docker run \
  --detach \
  --publish 8929:80 \
  --publish 2289:22 \
  --name servidor-gitlab \
  --restart always \
  --volume /srv/gitlab/config:/etc/gitlab \
  --volume /srv/gitlab/logs:/var/log/gitlab \
  --volume /srv/gitlab/data:/var/opt/gitlab \
  --shm-size 256m \
  gitlab/gitlab-ce:14.8.4-ce.0
          
'''
Parámetros explicados:
--detach: Ejecutar en segundo plano

--publish 8929:80: Mapear puerto web

--publish 2289:22: Mapear puerto SSH

--volume: Montar directorios persistentes

--restart always: Reinicio automático

--shm-size: Memoria compartida para optimización
'''

4 Configurar GitLab dantro del contenedor

# Acceder al contenedor
docker exec -it servidor-gitlab /bin/bash

# Editar configuración principal
nano /etc/gitlab/gitlab.rb

# Agregar configuraciones
external_url 'http://192.168.1.100:8929'
gitlab_rails['gitlab_ssh_host'] = '192.168.1.100'
gitlab_rails['gitlab_shell_ssh_port'] = 2289

# Aplicar cambios
gitlab-ctl reconfigure

# Editar configuración adicional
nano /var/opt/gitlab/gitlab-rails/etc/gitlab.yml

production: &base
  gitlab:
    host: 192.168.1.100
    port: 8929
    https: false

# Reiniciar servicios
gitlab-ctl restart
# Salir del contenedor
exit

5 Aceso inicial via navegador

# Se requiere mínimo 4GB RAM
http://192.168.1.100:8929/

# Primer acceso solicitará contraseña para root
# Establecer y usar para login inicial

6 Recuperación de contraseña root

# Ingresar al contenedor
docker exec -it servidor-gitlab /bin/bash

# Abrir consola Rails
gitlab-rails console -e production

# Localizar usuario administrador
admin_user = User.find_by(username: 'root')

# Establecer nueva contraseña
admin_user.password = 'NuevaPass123!'
admin_user.password_confirmation = 'NuevaPass123!'
admin_user.save!

# Salir
quit

7 Crear primer proyecto

Crear organización Crear repositorio inicial

Operaciones potseriores siguen el flujo estándar de Git

Etiquetas: Docker GitLab linux contenedores DevOps

Publicado el 8-10 17:05