一、Gitlab的安装

宿主机环境:

  • CentOS 7
  • docker
  • docker-compose

1、查找镜像

docker search gitlab

2、拉取镜像

docker pull gitlab/gitlab-ce

3、构建容器

# 切换目录
mkdir /usr/local/docker
cd /usr/local/docker
touch docker-compose.yml

docker-compose.yml内容如下:

version: "3.7"
services:
gitlab:
image: gitlab/gitlab-ce
restart: on-failure
container_name: gitlab
ports:
- '8080:80'
- '8443:443'
- '222:22'
volumes:
- /usr/local/docker/gitlab/data:/var/opt/gitlab
- /usr/local/docker/gitlab/logs:/var/log/gitlab
- /usr/local/docker/gitlab/conf:/etc/gitlab

4、启动容器

docker-compose up -d

注意:

这样启动容器之后,无论使用ssh还是http方式进行clone时,显示的地址中的主机名都是容器产生的随机id,这就导致外部主机无法解析。

解决方法:

 vi gitlab/conf/gitlab.rb

 # 修改external_url和gitlab_ssh_host属性为自己虚拟机的访问地址,然后去掉注释,不要加端口号

 external_url 'http://192.168.172.142'

 gitlab_rails['gitlab_ssh_host'] = '192.168.172.142'

同时如果在上面指定的端口映射不是默认的,比如上面将ssh端口映射到虚拟机的222端口,这时还需要修改:

gitlab_rails['gitlab_shell_ssh_port'] = 222

二、测试Gitlab

像github一样,要使用ssh克隆代码,先要配置ssh秘钥。

1、在物理机生成秘钥

ssh-keygen -t rsa -b 4096 -C "your email"

cd <用户目录>/.ssh/

# 拷贝 id_rsa.pub

2、拷贝到gitlab

点击头像 > settings > 左导航栏 > SSH keys

3、创建项目

创建项目,测试ssh

注意:

github和gitlab都要用ssh秘钥,而生成的秘钥文件都是id_rsa.pub,为了区分开来,可以这样做:

1、在 .ssh目录下创建config,注意文件名和编码,内容如下:

Host github.com
Preferredauthentications publickey
IdentityFile ~/.ssh/github_rsa

单独指定github的ssh秘钥文件为github_rsa,gitlab使用默认的id_rsa文件;

2、生成github的秘钥文件

cd <用户目录>/.ssh/

ssh-keygen -t rsa -b 4096 -C "your email" -f github_rsa

3、公钥拷贝到github

4、将私钥添加到ssh-agent

打开git bash

ssh-agent bash

ssh-add ~/.ssh/github_rsa

然后就OK了。

Docker搭建Gitlab代码管理平台的更多相关文章

  1. 基于Docker搭建GitLab代码管理

    关于Git.SVN的优缺点就不再重复了,本篇主要以实际搭建为主. 1.下载镜像文件 在命令行窗口执行如下指令,预计下载完成4分钟. docker pull beginor/gitlab-ce:11.0 ...

  2. 从零开始搭建gitea代码管理平台

    Gitea,一款极易搭建的Git自助服务.如其名,Git with a cup of tea.跨平台的开源服务,支持Linux.Windows.macOS和ARM平台.配置要求低,甚至可以运行在树莓派 ...

  3. 如何用Baas快速在腾讯云上开发小程序-系列2:搭建Phabricator开发管理平台

    版权声明:本文由贺嘉 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/905333001487424158 来源:腾云阁 h ...

  4. Visual SVN 企业版代码管理平台的建设

    通常需要完整的SVN的代码管理平台系统的搭建,需要安装三个文件,Visual SVN server  , TortoiseSVN, Visual SVN. Visual SVN server  企业版 ...

  5. Ubuntu Docker搭建GitLab以及常规配置使用

    安装启动实例 1.首先创建一个目录用于存放配置 sudo docker pull docker.io/gitlab/gitlab-ce sudo mkdir -p /root/docker/gitla ...

  6. [转帖]知乎专栏:正确使用 Docker 搭建 GitLab 只要半分钟

    正确使用 Docker 搭建 GitLab 只要半分钟 https://zhuanlan.zhihu.com/p/49499229 很多程序员在内网搭建 gitlab 都搭建的坑坑洼洼,不支持 htt ...

  7. 【Devops】【docker】【CI/CD】1.docker搭建Gitlab环境

    CI/CD[持续化集成/持续化交付] docker搭建Gitlab环境 1.查询并拉取gitlab镜像 docker search gitlab docker pull gitlab/gitlab-c ...

  8. Docker 三种UI管理平台

    docker集中化web管理平台 一.shipyard 1.启动docker,下载镜像 # systemctl restart docker # docker pull alpine # docker ...

  9. 阿里云代码管理平台 Teambition Codeup(行云)亮相,为企业代码安全护航

    2019杭州云栖大会企业协作与研发效能专场,企业协同平台Teambition负责人齐俊元正式发布阿里云自研的代码管理平台Teambition Codeup(行云),Codeup是一款企业级代码管理产品 ...

随机推荐

  1. 20190710记录:去掉中转图,直接以1280*1024进行反坐标计算,填补pbFinal。

    1.记录:去掉中转图,直接以1280*1024进行反坐标计算.pbFinal=1280*1024. // Imagejoint.cpp : 定义控制台应用程序的入口点. // #include &qu ...

  2. SQL-W3School-基础:SQL DISTINCT 语句

    ylbtech-SQL-W3School-基础:SQL DISTINCT 语句 1.返回顶部 1. 本章讲解 SELECT DISTINCT 语句. SQL SELECT DISTINCT 语句 在表 ...

  3. Linux学习:使用 procrank 测量系统内存使用情况

    程序员应该了解一个基本问题:我的程序使用了多少内存?这可能是一个简单的问题,但是对于像Linux这样的虚拟内存操作系统,答案是相当复杂的,因为top和ps给出的数字不能简单相加.进程中两个最常见的内存 ...

  4. go一个简单的爬虫(豆瓣)

    最近在学习go语言爬虫,写了个小demo package main import ( "fmt" "io/ioutil" "net/http" ...

  5. start开启服务的生命周期

    * 完整生命周期:onCreate()-->onStartCommand()-->onDestroy() * 开启服务:onCreate()-->onStartCommand() * ...

  6. C之自定义类型

    声明自定义数据类型,配合各种原有数据类型来达到简化编程的目的的类型定义关键字. #include<stdio.h> #include<stdlib.h> typedef int ...

  7. C之堆栈

    栈* 自动申请,自动释放* 大小固定,内存空间连续* 从栈上分配的内存叫静态内存 堆* 程序员自己申请* new/malloc* 大小取决于虚拟内存的大小,内存空间不连续* java中自动回收,C中需 ...

  8. thinkphp5 更改入口文件在主目录

    默认thinkPHP入口文件在public/index.php,而在虚拟主机部署时,不能设置访问路径,因此需要将入口文件放置在主目录上. 一.主目录下新建index.php 复制以下内容 // 定义应 ...

  9. Goland 激活码

    实测有效,分享下 Goland

  10. webstorm关闭vim模式