世界上最伟大的投资就是投资自己的教育

首页Docker
随风 · 凡人

Docker 入门学习系列文章教程 - 使用 compose 部署 GitLab 应用 (八)

随风发布于2733 次阅读

1. 介绍

上一篇:Docker Compose 的介绍与安装 (七)

之前介绍过 compose,现在来使用它,直接来部署一个 gitlab 应用。

2. 下载镜像

我们部署的是sameersbn/docker-gitlab这个镜像。

首先把它下载下来。

$ docker pull sameersbn/gitlab

3. 配置文件

我们不需要去 run 它,只需要先下载一个 compose 的配置文件。

$ wget https://raw.githubusercontent.com/sameersbn/docker-gitlab/master/docker-compose.yml

打开这个文件,把它的内容按照你自己的需要修改,比如改改 github 登录的配置信息,邮件发送的配置信息等。

比如我的配置如下:

version: '2'
services:
  redis:
    restart: always
    image: sameersbn/redis:latest
    command:
    - --loglevel warning
    volumes:
    - /srv/docker/gitlab/redis:/var/lib/redis:Z
  postgresql:
    restart: always
    image: sameersbn/postgresql:9.5-4
    volumes:
    - /srv/docker/gitlab/postgresql:/var/lib/postgresql:Z
    environment:
    - DB_USER=gitlab
    - DB_PASS=password
    - DB_NAME=gitlabhq_production
    - DB_EXTENSION=pg_trgm
  gitlab:
    restart: always
    image: sameersbn/gitlab:8.15.2
    depends_on:
    - redis
    - postgresql
    ports:
    - "10080:80"
    - "10022:22"
    volumes:
    - /srv/docker/gitlab/gitlab:/home/git/data:Z
    environment:
    - DEBUG=false
    - DB_ADAPTER=postgresql
    - DB_HOST=postgresql
    - DB_PORT=5432
    - DB_USER=gitlab
    - DB_PASS=password
    - DB_NAME=gitlabhq_production
    - REDIS_HOST=redis
    - REDIS_PORT=6379
    - TZ=Asia/Beijing
    - GITLAB_TIMEZONE=Beijing
    - GITLAB_HTTPS=false
    - SSL_SELF_SIGNED=false
    - GITLAB_HOST=gitlab.rails365.net
    - GITLAB_PORT=10080
    - GITLAB_SSH_PORT=10022
    - GITLAB_RELATIVE_URL_ROOT=
    - GITLAB_SECRETS_DB_KEY_BASE=xxx
    - GITLAB_SECRETS_SECRET_KEY_BASE=xxx
    - GITLAB_SECRETS_OTP_KEY_BASE=JBSWY3DPEHPK3PXP
    - GITLAB_ROOT_PASSWORD=
    - GITLAB_ROOT_EMAIL=
    - GITLAB_NOTIFY_ON_BROKEN_BUILDS=true
    - GITLAB_NOTIFY_PUSHER=false
    - GITLAB_EMAIL=hfpp2012@rails365.net
    - GITLAB_EMAIL_REPLY_TO=noreply@example.com
    - GITLAB_INCOMING_EMAIL_ADDRESS=reply@example.com
    - GITLAB_BACKUP_SCHEDULE=daily
    - GITLAB_BACKUP_TIME=01:00
    - SMTP_ENABLED=true
    - SMTP_DOMAIN=192.168.33.10
    - SMTP_HOST=smtpdm.aliyun.com
    - SMTP_PORT=25
    - SMTP_USER=hfpp2012@rails365.net
    - SMTP_PASS=xxxxx
    - SMTP_STARTTLS=true
    - SMTP_AUTHENTICATION=plain
    ....
    - OAUTH_GITHUB_API_KEY=8910bb915c112971520b
    - OAUTH_GITHUB_APP_SECRET=dc04e2fa55626bd0b1433c35adb57d85511d5772

有些地方被我省略了,还有些地方被我用xxx隐藏了。

4. compose up

现在改完之后就可以直接运行了。我们使用下面的命令来运行。

$ docker-compose up

运行的时候会发现会下载其他的镜像,比如 postgresql,还有 redis。因为 compose 是允许不同的镜像容器互相链接的,从上面的配置文件中的内容也可以看出来。

如果要以守护态运行,可以加-d参数。

5. nginx 配置

这个镜像默认是会启用 10080 端口访问,我们可以用 nginx 反向代理到这个端口上。

比如:gitlab.conf。

upstream gitlab {
  server                    127.0.0.1:10080;
}
server {
  listen                    80;
  server_name               gitlab.rails365.net;
  server_tokens             off;
  root                      /dev/null;
  location / {
    proxy_read_timeout      300;
    proxy_connect_timeout   300;
    proxy_redirect          off;
    proxy_set_header        X-Forwarded-Proto $scheme;
    proxy_set_header        Host              $http_host;
    proxy_set_header        X-Real-IP         $remote_addr;
    proxy_set_header        X-Forwarded-For   $proxy_add_x_forwarded_for;
    proxy_set_header        X-Frame-Options   SAMEORIGIN;
    proxy_pass              http://gitlab;
  }
}

完结。

下一篇:使用 compose 部署 Rocket.Chat 应用 (九)

本站文章均为原创内容,如需转载请注明出处,谢谢。

0 条回复
暂无回复~~
相关小书
docker 入门指南

docker 入门指南

零基础学习docker,从应用入手带你深入理解docker

发表于

喜欢
我的微信官网服务号精品文章订阅号微信视频号
程序员随风
统计信息
    学员: 21505
    视频数量: 1374
    文章数量: 455

© 汕尾市求知科技有限公司 | 专业版网站 | 关于我们 | 在线学员:1155

粤公网安备 44152102000088号粤公网安备 44152102000088号 | 粤ICP备19038915号

Top