场景

Docker-Compose简介与Ubuntu Server 上安装Compose:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100902301

Docker Compose基本使用-使用Compose启动Tomcat为例:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100904080

Docker Compose部署项目到容器-基于Tomcat和mysql的商城项目(附源码和sql下载):

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100941366

在上面实现基本的Compose的操作的基础上,实现使用Docker Compose搭建Gitlab。

Gitlab

Gitlab是一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源码,管理缺陷和注释,可以管理团队对仓库的访问,它非常易于浏览提交的版本并提供一个文件历史库。团队成员可以利用内置的简单的聊天程序进行交流。它还提供一个代码片段收集功能可以实现代码复用。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

在安装好Compose后,首先将虚拟机进行克隆,克隆出一份进行部署其他服务,在克隆时选择链接克隆,所以源虚拟机千万不能删掉,否则克隆出的虚拟机也能不能用。

GitLab对于系统性能有要求,所以我们需要将克隆出来的虚拟机的内存提高到至少2G以上。

因为GitLab的镜像比较大,所以需要拉取很长时间。

GitLab 中文社区版:

https://hub.docker.com/r/gitlabcezh/gitlab-ce-zh

输入命令:

docker pull twang2218/gitlab-ce-zh

等待其拉取完成。

然后在 /usr/local下新建docker目录,再在其下新建gitlab目录,进入gitlab目录,在当前目录下新建docker-compose.yml配置文件。

vi docker-compose.yml

然后按 i 进入编辑模式,复制以下配置文件代码,并按shift + ins 粘贴,然后按ESC,输入 :wq!

退出并保存。

version: '3'
services:
    web:
      image: 'twang2218/gitlab-ce-zh'   #gitlab镜像
      restart: always
      hostname: '192.168.208.134'       #主机名,即虚拟机的ip
      environment:
        TZ: 'Asia/Shanghai'
        GITLAB_OMNIBUS_CONFIG: |
          external_url 'http://192.168.208.134'    #外部访问地址
          gitlab_rails['gitlab_shell_ssh_port'] = 2222   #22端口已经被占用
          unicorn['port'] = 8888
          nginx['listen_port'] = 80  #这里的监听端口要与外部地址端口一致 80  则可省略
      ports:
        - '80:80'
        - '8443:443'
        - '2222:22'
      volumes:                          #数据卷挂载
        - /usr/local/docker/gitlab/config:/etc/gitlab
        - /usr/local/docker/gitlab/data:/var/opt/gitlab
        - /usr/local/docker/gitlab/logs:/var/log/gitlab

注:

hostname应为域名,这里使用IP,即虚拟机的ip。

nginx的监听端口要和外部访问地址的端口一致,这里因为nginx设置的是80,所以外部访问端口可省略。

然后输入:

docker-compose up

启动服务。

等待一段时间等启动成功后,打开浏览器,输入:

ip,然后回车。

此时需要设置管理员密码,账号为root,密码最少为8位。

设置完密码后进入登录页面

登录成功后

01-19 07:55