用docker安装gitlab,并配置反向代理

gitlab社区版:是一个开源的git管理服务器。对于团队内部项目,不想往码云和github上传时,可以考虑使用这个。

docker:在现有软硬件基础之上,虚拟操作系统;通过镜像构建容器,各个容器内部有独立的操作系统,同时共享所有硬件资源。比vmware之类的虚拟机虚拟化一整个虚拟物理机要节省资源,且性能更高。

反向代理:一个服务器上可能运行多个向外提供http接口或页面的服务,而80端口只有一个,为了让实际访问时可以根据域名不同而自动映射到不同端口,所以此处要配置反向代理,以实现浏览器访问时输入的地址不用对应实际端口号,只要使用默认80即可。

拉取gitlab的docker镜像

docker pull gitlab/gitlab-ce

启动gitlab

– hostname 配置docker指定的主机名称,我这里直接使用公司域名映射一个二级域名;

– publish 配置外部端口与内部端口的映射。因为docker内部gitlab默认使用80端口开启,但是我们的服务器80端口并不能被gitlab直接占用,所以此处配置物理机器开放的81端口映射docker内的80端口映射,同理,物理机器开放的23端口映射docker内的22端口映射

– restart 重启机制,此处设置为always

– volume 存储配置。因为docker本身内部不能做持久化存储,所以需要映射到屋里机器上的位置

sudo docker run --detach \
    --hostname git.xxxxxxxx.com \
    --publish 81:80 --publish 23:22 \
    --name gitlab \
    --restart always \
    --volume /srv/gitlab/config:/etc/gitlab \
    --volume /srv/gitlab/logs:/var/log/gitlab \
    --volume /srv/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest

调试

读取容器日志:

sudo docker logs gitlab

进入docker调试

sudo docker exec -it gitlab /bin/bash

这就使当前操作的上下文在docker内部,和通过ssh连接到远程主机的效果一样。

升级

如果要升级gitlab,那么先按以下命令停止当前实例的docker容器并将其删除,然后再按最初的步骤重新拉取并启动即可。由于启动时指定的直接是物理磁盘的路径,所以只要启动的时候数据存储位置的配置没有改动,数据就不会丢失。

sudo docker stop gitlab
sudo docker rm gitlab

配置nginx反向代理

这样配置的好处就在于,多个程序的访问地址公用80端口,根据域名做区分;下面的git.xxxxxxxx.com可以换成自己设定的域名,此配置不仅针对当前程序,这个是通用的。

server {
    listen 80;
    server_name git.xxxxxxxx.com
    set $node_port 81;
    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass http://127.0.0.1:$node_port$request_uri;
        proxy_redirect off;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值