Docker-gitlab部署

sameersbn/gitlab/#installation

图片.png

拉取docker镜像

docker pull sameersbn/postgresql:latest
docker pull sameersbn/redis:latest
docker pull sameersbn/gitlab:latest

docker 安装 postgresql

docker run --name gitlab-postgresql -d \
    --publish 5432:5432 \
    --env 'PG_TRUST_LOCALNET=true' \
    --env 'PG_PASSWORD=yourpassword' \
    --env 'DB_NAME=gitlabhq_production' \
    --env 'DB_USER=gitlab' --env 'DB_PASS=password' \
    --env 'DB_EXTENSION=pg_trgm' \
    --volume /srv/docker/gitlab/postgresql:/var/lib/postgresql \
    sameersbn/postgresql:latest
  • --publish | -p 映射端口
  • --env | -e 设置容器内环境变量
  • --volume | -v 映射宿主机目录到容器目录
  • PG_TRUST_LOCALNET=true 信任本地网络连接
  • PG_PASSWORD=yourpassword 默认postgres用户只允许从本地连接,此项配置密码允许远程连接
  • DB_NAME=gitlabhq_production 默认不创建其他数据库,通过设置DB_NAME创建,多个数据库时以,隔开
  • DB_USER=gitlab,DB_PASS=password 对创建的数据库授权
  • DB_EXTENSION=pg_trgm 添加pg_trgm扩展,相当于执行 create extension pg_trgm;

docker 安装 redis

docker run --name gitlab-redis -d \
    --volume /srv/docker/gitlab/redis:/var/lib/redis \
    sameersbn/redis:latest

docker 安装 gitlab

docker run --name gitlab -d \
    --link gitlab-postgresql:postgresql --link gitlab-redis:redisio \
    --publish 10022:22 --publish 10080:80 \
    --env 'GITLAB_PORT=80' --env 'GITLAB_SSH_PORT=22' \
    --env 'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string' \
    --env 'GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string' \
    --env 'GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string' \
    --volume /srv/docker/gitlab/gitlab:/home/git/data \
    sameersbn/gitlab:latest
  • --link 链接容器服务,通过link,可以自动获取前文设置的DB库名、用户名、密码,无需再另外提供
  • GITLAB_PORT=80 定义gitlab web端口为80
  • GITLAB_SSH_PORT=22 定义gitlab容器的ssh服务端口为22
  • GITLAB_SECRETS_DB_KEY_BASE GitLab CI 所使用的加密密钥,至少32字符长度
  • GITLAB_SECRETS_SECRET_KEY_BASE session 加密密钥,至少64字符长度
  • GITLAB_SECRETS_OTP_KEY_BASE Encryption key for OTP related stuff with GitLab ,至少64字符长度
  • 加密密钥都可以通过 pwgen -Bsv1 64 生成
  • gitlab ssh root 默认密码 5iveL!fe,可以通过 GITLAB_ROOT_PASSWORD设置,密码至少8字符长度

docker-compse

version: '2'
services:
  gitlab-postgresql:
    image: sameersbn/postgresql:latest
    environment:
      PG_TRUST_LOCALNET: 'true'
      PG_PASSWORD: Passw0rd
      DB_NAME: gitlabhq_production
      DB_USER: gitlab
      DB_PASS: Passw0rd
    stdin_open: true
    volumes:
    - /srv/docker/gitlab/postgresql:/var/lib/postgresql
    tty: true
    ports:
    - 5432:5432/tcp
  gitlab-redis:
    image: sameersbn/redis:latest
    stdin_open: true
    volumes:
    - /srv/docker/gitlab/redis:/var/lib/redis
    tty: true
  gitlab:
    image: sameersbn/gitlab:latest
    environment:
      GITLAB_PORT: '80'
      GITLAB_SSH_PORT: '22'
      GITLAB_SECRETS_DB_KEY_BASE: long-and-random-alpha-numeric-string
      GITLAB_SECRETS_SECRET_KEY_BASE: long-and-random-alpha-numeric-string
      GITLAB_SECRETS_OTP_KEY_BASE: long-and-random-alpha-numeric-string
    volumes:
    - /srv/docker/gitlab/gitlab:/home/git/data
    links:
    - gitlab-redis:redisio
    - gitlab-postgresql:postgresql
    ports:
    - 10020:22/tcp
    - 10080:80/tcp
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 写在前面: 这两天把公司的gitlab服务从老版本(7.12.0,源码版本)升级到了最新版(8.14.3,dock...
    mr_franklin阅读 6,577评论 2 9
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,859评论 18 139
  • 安装docker Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。因此想要安装 doc...
    yaoshiyou阅读 1,039评论 0 3
  • 诗样的人生 文/林语堂 我想由生物学的观点看起来,人生读来几乎像一首诗。它有其自己的韵律和拍子,也有其生长和腐坏的...
    秦东魁阅读 943评论 0 0
  • 墨绿色,开始脱落的墙漆 暗红色,已经开败的盛夏 你站在,离我很近的悬铃木下,不发一言。 风很燥,像被抽干水份的青柚...
    怪化猫阅读 157评论 0 0