首页主机资讯gitlab在ubuntu上如何使用Docker

gitlab在ubuntu上如何使用Docker

时间2025-11-03 12:33:03发布访客分类主机资讯浏览1439
导读:在Ubuntu上使用Docker部署GitLab的完整步骤 1. 准备工作 系统要求:Ubuntu Server 22.04/24.04 LTS(64位),建议配置4核CPU、8GB以上内存(避免因资源不足导致部署失败); 安装Docke...

在Ubuntu上使用Docker部署GitLab的完整步骤

1. 准备工作

  • 系统要求:Ubuntu Server 22.04/24.04 LTS(64位),建议配置4核CPU、8GB以上内存(避免因资源不足导致部署失败);
  • 安装Docker:若未安装,执行以下命令快速部署:
    sudo apt update &
        &
         sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list >
         /dev/null
    sudo apt update &
        &
     sudo apt install -y docker-ce docker-ce-cli containerd.io
    sudo systemctl enable --now docker  # 开机自启
    
  • 安装Docker Compose(可选,但推荐用于管理多容器):
    sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    

2. 部署GitLab容器

方式一:使用Docker命令直接运行(适合快速测试)
# 创建数据目录(用于持久化GitLab配置、日志、数据)
sudo mkdir -p /srv/gitlab/{
config,logs,data}
    
sudo chmod -R 755 /srv/gitlab  # 确保目录可读写

# 拉取GitLab社区版镜像(最新版)
docker pull gitlab/gitlab-ce:latest

# 启动GitLab容器
docker run -d \
  --hostname your_server_ip_or_domain \  # 替换为服务器IP或域名(如192.168.1.100)
  --name gitlab \
  --restart always \  # 开机自启
  --publish 8080:80 \  # Web界面端口(可自定义,如8929)
  --publish 8443:443 \ # HTTPS端口(可选)
  --publish 2222:22 \  # SSH端口(避免与宿主机SSH冲突)
  --volume /srv/gitlab/config:/etc/gitlab \  # 配置文件挂载
  --volume /srv/gitlab/logs:/var/log/gitlab \  # 日志文件挂载
  --volume /srv/gitlab/data:/var/opt/gitlab \  # 数据文件挂载
  gitlab/gitlab-ce:latest
方式二:使用Docker Compose(适合生产环境,便于管理)
  1. 创建docker-compose.yml文件:
    sudo mkdir -p /srv/gitlab-compose
    cd /srv/gitlab-compose
    sudo vim docker-compose.yml
    
  2. 粘贴以下内容(修改hostname为服务器IP或域名):
    version: '3.8'
    services:
      gitlab:
        image: gitlab/gitlab-ce:latest
        restart: always
        hostname: your_server_ip_or_domain  # 如192.168.1.100
        ports:
          - "8080:80"
          - "8443:443"
          - "2222:22"
        volumes:
          - gitlab_config:/etc/gitlab
          - gitlab_logs:/var/log/gitlab
          - gitlab_data:/var/opt/gitlab
          - /etc/localtime:/etc/localtime:ro  # 时钟同步
          - /etc/timezone:/etc/timezone:ro    # 时区同步
        environment:
          GITLAB_OMNIBUS_CONFIG: |
            external_url 'http://your_server_ip_or_domain:8080'  # 与ports中的HTTP端口一致
            gitlab_rails['gitlab_shell_ssh_port'] = 2222  # 与ports中的SSH端口一致
    volumes:
      gitlab_config:
      gitlab_logs:
      gitlab_data:
    
  3. 启动容器:
    sudo docker-compose up -d
    

3. 初始配置与访问

  1. 获取root初始密码: 容器启动后,执行以下命令查看临时密码(仅首次登录有效):

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

    输出示例:Password: xxxxxxxx(记下此密码)。

  2. 访问GitLab Web界面

    • 打开浏览器,输入http://your_server_ip_or_domain:8080(若使用HTTPS,替换为https://和对应端口);
    • 使用root账号登录,首次登录需修改密码(建议使用强密码,包含字母、数字、符号)。
  3. 配置SSH访问(可选)

    • 若修改了SSH端口(如2222),需在GitLab项目页面获取SSH地址(格式:git@your_server_ip_or_domain:project_name.git);
    • 本地机器添加SSH密钥:
      ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
      cat ~/.ssh/id_rsa.pub  # 复制公钥内容
      
    • 进入GitLab容器,添加密钥到用户账户:
      docker exec -it gitlab bash
      gitlab-rails console
      user = User.find_by(username: 'root')
      user.add_ssh_key("复制的公钥内容")
      exit
      

4. 常见问题解决

  • 无法访问Web界面
    • 检查防火墙是否放行端口(如ufw allow 8080/tcp);
    • 确认容器是否运行(docker ps),若未运行,查看日志排查错误(docker logs gitlab)。
  • SSH连接失败
    • 确保gitlab_rails['gitlab_shell_ssh_port']ports中的SSH端口一致;
    • 检查宿主机SSH端口是否被占用(sudo netstat -tulnp | grep 22),若冲突,修改ports中的SSH端口。
  • 容器频繁退出
    • 查看容器日志(docker logs -f gitlab),常见原因包括磁盘空间不足、内存不足(需扩容宿主机资源)。

注意事项

  • 数据持久化:通过volumes挂载的/srv/gitlab目录需长期保留,避免容器删除后数据丢失;
  • 性能优化:若使用SSD,可在docker-compose.yml中添加devices: ['/dev/sda'](需根据实际情况调整);
  • 备份:定期备份/srv/gitlab目录(包含配置、日志、数据),可使用tar命令压缩归档。

通过以上步骤,即可在Ubuntu上使用Docker快速部署GitLab,并实现数据持久化与便捷管理。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: gitlab在ubuntu上如何使用Docker
本文地址: https://pptw.com/jishu/740701.html
gitlab在ubuntu上如何集成其他工具 ubuntu如何配置gitlab权限

游客 回复需填写必要信息