Docker搭建Gitlab代码管理平台

一、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了。

原文地址:https://www.cnblogs.com/wotoufahaiduo/p/11242699.html

时间: 2024-08-19 11:21:42

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

Gitlab代码管理平台部署(CentOS6.7—gitlab7.2.12)

部署环境准备 Gitlab需要以下系统与软件环境: Ruby (MRI) 2.1 Git 1.7.10+ Redis 2.4+ MySQL 由于系统的git,ruby环境一般版本比较低,因此需考虑升级. 1.升级git. 删除原系统的git: #rpm -eperl-Git-1.7.1-3.el6_4.1.noarch git-1.7.1-3.el6_4.1.x86_64 源码包编译安装git: #tar -zxvf git-2.6.3.tar.gz #cd git-2.6.3 #autocon

使用Docker搭建GitLab实践

使用Docker搭建GitLab实践 SVN与GIT,二者皆须会 当前版本控制系统(Version Control System,VCS)有集中化版本版本控制系统(Centralized Version Control System,简称 CVCS)和分布式版本控制系统(Distributed Version Control System,简称 DVCS). 集中化版本控制系统的代表是SVN,分布式版本控制系统的代表是GIT. 熟悉SVN已两年,玩过SVNKIT.svn cli.pysvn,当然

Ubuntu Docker 搭建 GitLab

1.首先创建一个目录用于存放配置 sudo docker pull docker.io/gitlab/gitlab-ce sudo mkdir -p /root/docker/gitlab/config sudo mkdir -p /root/docker/gitlab/logs sudo mkdir -p /root/docker/gitlab/data 2.运行实例(关于最新版本的https 没有搞定,晚上说的都是旧版本, 尝试了一下 旧版本也是无果的,还有官方的新版有很多监控) docke

代码管理平台

你要了解的常识 版本控制,记录若干文件内容变化,以便将来查阅特定版本修订情况版本管理工具发展简史,cvs? svn ? git 参考http://luckypoem14.github.io/test/2012/04/24/scm-history/svn全称subversion,是一个开源版本控制系统,始于2000年git是linux创始人linus发起的,2005年发布,最初目的是更好管理linux内核代码git和svn不同在于git不需要依赖服务端就可以工作,即git是分布式的关于git和sv

Centos7使用docker搭建gitlab服务器

了解到docker的优点,搭建快,运行要求资源低,最重要的是实现的功能和效果都能达到预期,于是决定使用docker来搭建gitlab服务器. 效果图如下: 系统环境:CentOS Linux release 7.1.1503 (Core) git版本:/gitlab/gitlab-ce 一.安装和启动docker 安装:yum -y install docker 启动:systemctl start docker 开机启动:systemctl enable docker 二.拉取镜像文件 doc

docker搭建gitlab+Jenkins持续集成环境

安装docker 此处省略一.使用docker安装gitlab docker pull gitlab/gitlab-ce:latest下载完成之后使用docker生成容器docker run -dit \-p 8443:443 \-p 8080:80 \-p 2222:22 \-p 9090:9090 \--name gitlab \--restart always \-v /home/gitlab/config:/etc/gitlab \-v /home/gitlab/logs:/var/lo

Docker学习系列(三)Docker搭建gitlab的三种方式

一.直接下载docker-ce 1.拉取gitlab/gitlab-ce Randy:~ Randy$ docker pull gitlab/gitlab-ce Using default tag: latest 2.运行gitlab/gitlab-ce, Randy:~ Randy$ docker run -d --publish 8443:443 --publish 8001:80 --publish 8022:22 --name gitlab-randy --restart always

docker搭建gitlab服务器(Centos7)

系统环境:CentOS Linux release 7.6.1810 (Core) git版本:gitlab/gitlab-ce 一.安装和启动docker 见HTTPRUNNERMANAGER安装部署 二.拉取镜像文件 docker images  #查看镜像文件,没拉取之前是没有任何镜像的 docker search gitlab #搜索镜像 docker pull docker.io/gitlab/gitlab-ce  #下载镜像,下载完成后 docker images #查看镜像文件 三

基于docker搭建sonar代码质量检测平台

最近有点忙,好久不写博文了,今天听一个同事说之前他们的代码review都是人工来弄的,这多累,于是我赶紧搭建一个sonar代码质量检测平台给大家用用 docker环境搭建什么的就不说了.网上很多,直接上核心命令 第一条是docker 运行一个pgsql 第二条是docker 运行一个sonar docker run -d --name pgdb -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -v /data/pgdata:/var/lib/p