曲振飞的个人博客

专注于Web全栈开发、APP设计、网站建设

当前位置 : 主页 > 环境搭建 > Docker搭建gitlab服务器让GitLab安装部署更简单

Docker搭建gitlab服务器让GitLab安装部署更简单

时间:2016-09-11 15:34:19 栏目:环境搭建 作者:曲振飞 点击: 722

而今Docker流行,它使得软件安装部署变得更简单,通过Docker镜像与容器就可以快速搞定这些繁琐的、重复的安装部署过程,并且镜像可移植。本次是在腾讯云服务器上搭建Gitlab服务器,在搭建过程中遇到一个问题,在后台已经安装好了,但在浏览器中输入IP就是不能运行,后来经排查是腾讯云的安全组端口开放问题,如果在腾讯云服务器上安装的伙伴可以注意下,下面介绍安装步骤:

1.安装docker

curl -fsSL https://get.docker.com/ | sudo sh
docker version  #查看安装版本

2.安装docker compose

curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose    #下载
chmod +x /usr/local/bin/docker-compose    #修改权限
docker-compose version    #查看版本

到目前为止docker和docker-compose已安装完毕

3.创建 docker-compose.yml 文件

mkdir -p ~/fig/gitlab/    #创建目录
cd  ~/fig/gitlab/	  #进入目录

vi docker-compose.yml	  #创建yml文件
gitlab:
  image: gitlab/gitlab-ce
  hostname: gitlab.quzhenfei.cn
  environment:
    GITLAB_OMNIBUS_CONFIG: |
      external_url 'https://gitlab.quzhenfei.cn'
      gitlab_rails['gitlab_shell_ssh_port'] = 2222
  ports:
    - "443:443"
    - "2222:22"
  volumes:
    - ./gitlab/config:/etc/gitlab
    - ./gitlab/logs:/var/log/gitlab
    - ./gitlab/data:/var/opt/gitlab
  restart: always
  
docker-compose up -d 	#就可以把gitlab服务运行起来
sudo docker-compose ps  #查看运行状态

4.设置https证书

在/home/ubuntu/fig/gitlab/gitlab/config/下创建ssl文件夹

sudo su	#切换权限
mkdir ssl #创建ssl文件

进入/home/ubuntu/fig/gitlab/gitlab/config/ssl

创建key 和 证书

openssl req -newkey rsa:4096 -nodes -sha256 -x509 -days 365 -keyout gitlab.quzhenfei.cn.key -out gitlab.quzhenfei.cn.crt
在运行过程中按照信息提示输入以下信息:
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:.    #可以用点来代替
Locality Name (eg, city) []:.
Organization Name (eg, company) [Internet Widgits Pty Ltd]:.
Organizational Unit Name (eg, section) []:.
Common Name (e.g. server FQDN or YOUR name) []:gitlab.quzhenfei.cn  #为您的域名
Email Address []:.

最后可以检查下log的运行状态cker-compose logs --tail 10 -f

在浏览器输入ip可查看

关键字: Docker,安装Gitlab,Gitlab

关于站长

曲振飞,一个热忠、从事于互联网的90后青年.专注于网站建站、网站设计及优化.以用户体验、WEB标准为主旨,将网站的整体设计与网页设计的相关原理紧密结合.