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
相关推荐
辉的技术笔记36 分钟前
Dify 卡在入口?Gunicorn + Nginx 的正确打开方式
docker
辉的技术笔记21 小时前
Dify 自部署为什么跑不动?6 层瓶颈诊断法教你定位
docker
程序员老赵2 天前
Docker 部署 Redmine:老牌开源项目管理部署实测记录
docker·开源·团队管理
程序员老赵2 天前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
lichenyang4534 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4534 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4534 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4534 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
Patrick_Wilson9 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy9 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker