docker-compose安装gitlab并用nginx代理
一键安装docker
#! /bin/bash
yum -y install gcc gcc-c++
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce-19.03.15
systemctl enable docker
systemctl start docker
1、安装docker-compose(提前装好docker)
curl -L "https://github.com/docker/compose/releases/download/2.0.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker pull gitlab/gitlab-ce:latest
docker-compose.yaml
version: ‘3.1’
services:
gitlab:
image: ‘gitlab/gitlab-ce:latest’
container_name: gitlab
restart: always
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url ‘http://test.gitlab.com’
gitlab_rails[‘gitlab_shell_ssh_port’] = 2224
gitlab_rails[‘trusted_proxies’] = [‘192.168.146.34’]
gitlab_rails[‘gitlab_ssh_host’] = ‘test.gitlab.com’
gitlab_workhorse[‘listen_network’] = “tcp”
gitlab_workhorse[‘listen_addr’] = “0.0.0.0:8929”
nginx[‘enable’] = false
ports:
- ‘80:8929’
- ‘2224:22’
volumes:
- ‘/data/gitlab/config:/etc/gitlab’
- ‘/data/gitlab/logs:/var/log/gitlab’
- ‘/data/gitlab/data:/var/opt/gitlab’
- ‘/etc/hosts:/etc/hosts’
查看初始密码:
docker exec -it gitlab-ce grep ‘Password:’ /etc/gitlab/initial_root_password
使用nginx进行代理,使用四层代理
1、http代理
server {
listen 80;
server_name test.gitlab.com;
location / {
proxy_pass http://192.168.146.39:80;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
2、tcp代理
stream {
upstream gitlab {
hash $remote_addr consistent;
server 192.168.146.39:81;
}
server {
listen 81;
proxy_connect_timeout 30s;
proxy_timeout 300s;
proxy_pass gitlab;
}
}