Git服务部署文档
部署采用docker镜像方式
环境准备
所属平台 | 云服务器名称 | 主机名 | IP | 备注 |
---|---|---|---|---|
XXXX | XX平台-git-maven | git-nexus | 172.17.1.21 |
安装docker
***参考文档:docker-ce | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror***
修改docker存储目录
首先查看docker信息,使用docker info,“Docker Root Dir”的值为docker镜像存储的目录;
以下为修改后结果,执行前请确认目标目录是否存在并且所在存储设备是否空间充足;
root@git-maven:/mnt/vdb1/src/gitlab# docker info
.
.
Name: git-maven
ID: 9c19f300-3391-417c-bfa1-4100a3f97be4
Docker Root Dir: /mnt/vdb1/docker/container
.
.
之后重启docker服务
systemctl stop docker.service
systemctl stop docker.socket
systemctl start docker
安装gitlab
下载docker镜像
docker pull gitlab/gitlab-ee
安装docker-compose
下载docker-compose程序:docker-compose-linux-x86_64
创建相关目录并安装
mkdir -p /mnt/vdb1/src/docker-compose/
mv /tmp/docker-compose-linux-x86_64 /mnt/vdb1/src/docker-compose
ln -s /mnt/vdb1/src/docker-compose/docker-compose-linux-x86_64 /usr/bin/docker-compose
root@git-maven:/mnt/vdb1/gitlab/yaml# docker-compose -v
Docker Compose version v2.15.1
创建安装变量和目录
mkdir -p /mnt/vdb1/gitlab/config/ # 创建gitlab配置文件目录;
mkdir -p /mnt/vdb1/gitlab/logs/ # 创建gitlab日志目录;
mkdir -p /mnt/vdb1/gitlab/data/ # 创建gitlab数据存储目录;
export GITLAB_HOME=/mnt/vdb1/gitlab
创建相关目录并编写yaml文件
mkdir -p /mnt/vdb1/gitlab/yaml
vim /mnt/vdb1/gitlab/yaml/docker-compose.yaml
version: '3.6'
services:
web:
image: 'gitlab/gitlab-ee:latest'
restart: always
hostname: 'ly.gitlab.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://172.17.1.21:8800'
gitlab_rails['gitlab_shell_ssh_port'] = 2201
ports:
- '8800:8800'
- '2201:22'
volumes:
- '$GITLAB_HOME/config:/etc/gitlab'
- '$GITLAB_HOME/logs:/var/log/gitlab'
- '$GITLAB_HOME/data:/var/opt/gitlab'
shm_size: '256m'
运行dockerfile
cd /mnt/vdb1/gitlab/yaml
root@git-maven:/mnt/vdb1/gitlab/yaml# docker-compose up -d
[+] Running 1/1
⠿ Container yaml-web-1 Started
访问测试
http://172.17.1.21:8800
由于服务启动需要时间,首次测试需要等待一会;
观察$GITLAB_HOME变量映射的目录是否有文件产生;
获取初始密码
初始用户名为root;
通过docker命令获取初始密码,其中1bf47aff1b79字段为docker容器ID;
root@git-maven:/mnt/vdb1/gitlab/yaml# docker exec -it 1bf47aff1b79 grep 'Password:' /etc/gitlab/initial_root_password
Password: fUjPtG4ynLSUiRa/IkMsSAMBkxyCO04ifyaSqcOGnDc=