码迷,mamicode.com
首页 > 其他好文 > 详细

Docker搭建Gitlab代码管理平台

时间:2019-07-25 10:45:10      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:tla   ons   拉取   目录   docker   keygen   ima   ati   doc   

一、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代码管理平台

标签:tla   ons   拉取   目录   docker   keygen   ima   ati   doc   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!