docker搭建gitlab

1. 搭建gitlab

shell 复制代码
# 1. 获取镜像
docker pull gitlab/gitlab-ce:latest

# 2. 创建并启动容器
# 映射了2个端口,都是需要用到的
docker run -itd -p 9980:80 -p 9922:22 --restart always --privileged=true --name gitlab gitlab/gitlab-ce
# 进入容器
docker exec -it gitlab /bin/bash

# 3. 修改配置
vi /etc/gitlab/gitlab.rb
# 增加以下条配置,docker主机的ip是192.168.1.190,ssh端口号9922
external_url '192.168.1.190'
gitlab_rails['gitlab_ssh_host'] = '192.168.1.190'
gitlab_rails['gitlab_shell_ssh_port'] = 9922

#退出保存,使配置生效
gitlab-ctl reconfigure

# 继续修改
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
# 找到以下配置,并修改
  gitlab:
    ## Web server settings (note: host is the FQDN, do not include http://)
    host: 192.168.1.190
    port: 9980
    https: false


# 重启gitlab
gitlab-ctl restart

# 4. 设置root用户密码
gitlab-rails console
user = User.where(id:1).first
# 设置密码
user.password='12345678'
user.save

# 到此,配置ok

2. 配置ssh

  1. 生成ssh密钥
shell 复制代码
ssh-genkey -t ecdsa -C "邮箱地址"

然后一直确认就可以,建议不要用-t rsa,openssh不建议使用,好多问题。

会在~/.ssh/下生成两个文件:id_ecdsa、id_ecdsa.pub

  1. 创建用户

使用root用户登陆 http://192.168.1.190:9980,创建用户,账号邮箱需与生成ssh时的一致。

  1. 用户设置ssh
    使用新创建的用户登陆gitlab,进入 http://192.168.1.190:9980/-/profile/keys ,添加key,将 id_ecdsa.pub 中的内容填入即可。

3. 创建仓库并同步

git全局设置

shell 复制代码
git config --global user.name "名称"
git config --global user.email "邮箱"

git单项目设置(适合不同项目不同用户名称使用)

shell 复制代码
git config user.name "名称"
git config user.email "邮箱"

创建新仓库

shell 复制代码
git clone ssh://git@192.168.1.190:9922/android/rk3568-app.git
cd rk3568-app
git switch --create main
touch README.md
git add README.md
git commit -m "add README"
git push --set-upstream origin main

将文件夹push到空仓库

shell 复制代码
cd existing_folder
git init --initial-branch=main
git remote add origin ssh://git@192.168.1.190:9922/android/rk3568-app.git
git add .
git commit -m "Initial commit"
git push --set-upstream origin main

将文件夹push到已存在的仓库

shell 复制代码
cd existing_repo
git remote rename origin old-origin
git remote add origin ssh://git@192.168.1.190:9922/android/rk3568-app.git
git push --set-upstream origin --all
git push --set-upstream origin --tags

关联远程仓库

shell 复制代码
git init --initial-branch=main
git remote add origin ssh://git@192.168.1.190:9922/android/rk3568-app.git
git fetch

# 拉取远程库
git checkout -b main origin/main
git pull origin main
相关推荐
正经教主12 小时前
【docker基础】第五课:Docker网络详解
运维·docker·容器
鹤鸣的日常13 小时前
前端运行时动态环境变量方案
前端·react.js·docker·前端框架·vue·gitlab
我是谁??16 小时前
ubuntu22.04 通过docker部署vLLM(Qwen3-0.6B)大模型+New API+OpenWebUI
docker·容器·vllm
starvapour16 小时前
Ubuntu部署gitlab频繁出现502的问题
linux·ubuntu·gitlab
运维瓦工17 小时前
DevOps 生态介绍(十):Docker Compose 核心 YAML 配置详解与常用命令大全
spring cloud·docker·容器
云烟成雨TD17 小时前
Spring AI 1.x 系列【59】容器化开发支持:Docker Compose 与 Testcontainers
人工智能·spring·docker
Plastic garden17 小时前
K8s(10)NFS 的动态 PV 创建数据库给k8s的mysql和redis
docker·容器·kubernetes
与海boy18 小时前
docker compose minio
docker·容器·eureka
JimCarter18 小时前
使用Azure Devops Pipeline将Docker应用部署到你的Raspberry Pi上
docker·azure·树莓派·devops·orangepi·香橙派·raspberrypi