CICD[软件安装]:docker安装gitlab

1、创建gitlab工作目录

复制代码
sudo mkdir -p /usr/local/gitlab/{config,logs,data}

下载镜像

复制代码
sudo docker pull gitlab/gitlab-ce:17.11.1

2、编写docker-compose.yml

复制代码
cd /usr/local/gitlab
sudo vi docker-compose.yml

写入内容:

bash 复制代码
version: '3.6'
services:
  gitlab:
    image: 'gitlab/gitlab-ce:latest'
    container_name: gitlab
    restart: always
    hostname: '192.168.26.136' # 替换为你的主机 IP 或域名
    environment:
      TZ: 'Asia/Shanghai'
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://192.168.26.136' # 替换为你的主机 IP 或域名
    ports:
      - '8090:80'         # HTTP 端口
      - '10443:443'       # HTTPS 端口
      - '10022:22'       # SSH 端口(避免与宿主机冲突)
    volumes:
      - '/usr/local/gitlab/config:/etc/gitlab'
      - '/usr/local/gitlab/logs:/var/log/gitlab'
      - '/usr/local/gitlab/data:/var/opt/gitlab'
    shm_size: '256m'

3、启动gitlab容器(等待几分钟)

bash 复制代码
cd /docker/gitlab

sudo docker-compose up -d

关闭

bash 复制代码
sudo docker-compose down

状态

bash 复制代码
sudo docker-compose ps

4、配置防火墙

bash 复制代码
sudo ufw allow 8090
sudo ufw allow 1443
sudo ufw allow 10022
sudo ufw reload

5、访问gitlab

在浏览器中访问 http://<你的服务器IP>,首次登录时使用默认账号 root,密码可以通过以下命令查看:

  • 管理员 :root

  • 密码:如下

bash 复制代码
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

# rhpKfuY0XrDEB2h2WewlOwIPJQYtyDNLcD5hLxD9J28=

6、gitlab rails控制台

bash 复制代码
gitlab-rails console

# 设置root用户的密码
irb(main):003:0> user = User.find_by(username: 'root')
irb(main):004:0> user.password = 'jwk@12345678'
irb(main):005:0> user.password_confirmation = 'jwk@12345678'
irb(main):006:0> user.save!

7、保存镜像文件

  • 保存镜像文件
bash 复制代码
docker save -o gitlab-ce.tar gitlab/gitlab-ce:17.11.1
  • 恢复镜像文件
bash 复制代码
docker load -i gitlab-ce.tar
相关推荐
Lvan的前端笔记8 小时前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker
sbjdhjd14 小时前
云安全 | Docker 容器逃逸复盘(三):docker.sock 挂载与 Docker-in-Docker 风险
经验分享·网络安全·docker·云原生·容器·kubernetes·云安全
热爱Liunx的丘丘人14 小时前
1、什么是K8s
云原生·容器·kubernetes
帷幕落秋15 小时前
Docker的两种安装
运维·docker·容器
工业一体机老司机15 小时前
工业一体机选购后的系统部署:Ubuntu下Docker容器化运行与GPIO配置
linux·ubuntu·docker·人机交互
fengkai454516 小时前
十二、Redis -2
运维·数据库·redis·容器
DolitD18 小时前
3D应用多实例并发中的GPU隔离技术路径分析
容器·gru·接口隔离原则
姜鱼问生19 小时前
docker exec 排查容器问题:从日志到进程
运维·网络·数据库·docker·容器
Fan_55820 小时前
4核8G云服务器部署GitLab内存耗尽解决方案
gitlab
人生百态,人生如梦20 小时前
Ubuntu在低版本下使用ccswitch+claudecode(CCSwitch+Docker+Claude)连调教程
linux·ubuntu·docker·claudecode·ccswitch