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
网友评论