docker搭建gitlab只允许内网访问
时间: 2023-08-19 22:04:11 浏览: 184
centos中使用docker搭建gitlab+jenkins做持续集成
要搭建一个只允许内网访问的 GitLab,可以使用 Docker 容器化部署,然后通过 Docker 的网络设置实现内网访问限制。
以下是具体步骤:
1. 安装 Docker
2. 拉取 GitLab 镜像
```
docker pull gitlab/gitlab-ce:latest
```
3. 创建并启动容器
```
docker run -d \
--hostname gitlab.example.com \
--publish 192.168.1.100:443:443 \
--publish 192.168.1.100:80:80 \
--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
```
其中,`--hostname` 参数指定 GitLab 的主机名,`--publish` 参数指定容器端口与宿主机端口的映射,这里只映射内网 IP 地址,`--name` 参数指定容器名称,`--restart` 参数指定容器启动后自动重启,`--volume` 参数指定容器内数据存储的位置。
4. 配置 GitLab
进入容器内部:
```
docker exec -it gitlab /bin/bash
```
在容器内部执行以下命令:
```
gitlab-ctl reconfigure
```
然后访问 `http://192.168.1.100`,输入管理员用户名和密码,登录 GitLab。
5. 内网访问限制
在容器内部执行以下命令:
```
gitlab-ctl stop
cd /etc/gitlab/
vim gitlab.rb
```
修改以下配置项:
```
external_url 'http://gitlab.example.com'
nginx['listen_addresses'] = ['127.0.0.1']
```
`external_url` 指定 GitLab 的外部访问地址,`nginx['listen_addresses']` 指定 nginx 监听的 IP 地址,这里只监听本地回环接口。
保存并退出,然后执行以下命令:
```
gitlab-ctl reconfigure
gitlab-ctl restart
```
这样就完成了内网访问限制的设置。
注意,这里的 IP 地址和配置文件中的地址需要根据实际情况进行调整。
阅读全文