之前搭建的gitlab因为使用编译安装参数问题,不能使用ssh认证,重新修改比较麻烦,之后查询资料使用sameersbn的docker环境搭建可解决,简单易用,记录如下;

github地址:
主要需要修改的文件为docker-compose.yml,里面定义了使用的镜像和相关参数,主要说明如下:
主要使用redis、postgresql和gitlab镜像(也可使用mysql,但官方建议使用postgresql)

version: '2'services:  redis:    restart: always    p_w_picpath: sameersbn/redis:latest    #redis镜像    command:    - --loglevel warning    volumes:    - /srv/docker/gitlab/redis:/var/lib/redis:Z  postgresql:    restart: always    p_w_picpath: sameersbn/postgresql:9.5-3    #postgresql镜像    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    p_w_picpath: sameersbn/gitlab:8.13.5    #gitlab镜像    depends_on:    - redis    - postgresql    ports:    - "127.0.0.1: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/Kolkata    - GITLAB_TIMEZONE=Kolkata    - GITLAB_HTTPS=false    - SSL_SELF_SIGNED=false    - GITLAB_HOST=ttxsgoto.com     #定义gitlab使用的域名    - GITLAB_PORT=80        #定义使用http的端口    - GITLAB_SSH_PORT=10022    #定义使用ssh的端口    - GITLAB_RELATIVE_URL_ROOT=    - GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alphanumeric-string    - GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alphanumeric-string    - GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alphanumeric-string    - GITLAB_ROOT_PASSWORD=    - GITLAB_ROOT_EMAIL=

也可使用https,具体可以参考github实例,经过上述配置后,启动容器:

docker-compose up -d

配置nginx代理,之后部署完成,访问对应的域名即可,经测试http,ssh都可使用,默认的用户为root,第一次登陆时需要修改密码。