Docker搭建私有gitlab仓库
docker在centos安装教程:
官方教程:https://docs.docker.com/install/linux/docker-ce/centos/
1.查询是否安装过
yum list installed | grep docker
2.卸载旧版本
sudo yum -y remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
3.安装所需软件包
sudo yum -y install -y yum-utils \
device-mapper-persistent-data \
lvm2
4.设置稳定的存储库
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
5.安装最新版本的Docker Engine-Community和containerd
sudo yum -y install docker-ce docker-ce-cli containerd.io
6.启动docker
sudo systemctl start docker
7.通过运行hello-world 映像来验证是否正确安装了Docker
sudo docker run hello-world
-
此命令下载测试图像并在容器中运行。容器运行时,它会打印参考消息并退出
image.png
下面就开始搭建gitlab仓库
1.拉取gitlab镜像
docker pull gitlab/gitlab-ce
2.下载速度太慢,设置国内的阿里镜像加速
docker阿里镜像地址,具体使用参考下面链接
参考地址 https://blog.csdn.net/Funny_Ma/article/details/96478395
3.启动gitlab
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 10443:443 --publish 1080:80 --publish 1022:22 \
--name gitlab \
--restart always \
--volume /usr/local/docker/gitlab/config:/etc/gitlab \
--volume /usr/local/docker/gitlab/logs:/var/log/gitlab \
--volume /usr/local/docker/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
- 解释一下上面的一条长命令
--hostname gitlab.example.com \ # 设置主机名或域名
--publish 10443:443 --publish 1080:80 --publish 1022:22 \ #本地端口的映射
--name gitlab \ # gitlab-ce 的镜像运行成功的容器命名为gitlab
--restart always \ # 设置重启方式,always 代表一直开启,即开机自启
--volume 分别将 gitlab 的配置文件、日志文件、数据文件目录映射到 /usr/local/docker/gitlab的相应目录中
4.通过命令查看所有容器
docker ps -a
image.png
5.因为我们把gitlab映射到1080端口,所以防火墙开启1080端口
# 开启1080端口
firewall-cmd --zone=public --add-port=1080/tcp --permanent
# 重启防火墙才能生效
systemctl restart firewalld
# 查看已经开放的端口
firewall-cmd --list-ports
5.访问http://192.168.8.128:1080
- 注意改成你服务器的ip
- 第一次访问让你设置密码,默认账户是root
-
设置好密码,root账户名登录即可
image.png
- 接下来怎么使用,就不是本文要讲的范围了哦
- 新建一个项目,clone的时候发现地址http://gitlab.example.com/root/test.git
image.png
上面设置的时候设置主机名或者域名的时候设置了gitlab.example.com,这时候怎么解决?
- 去上面那条长命令找到配置文件地址,我的是这个
cd /usr/local/docker/gitlab/config
-
vim打开进入这个文件
image.png -
搜索这行# external_url 'GENERATED_EXTERNAL_URL'
-
去掉注释并改成你的ip或域名,保存退出。
image.png -
使配置生效
docker exec gitlab gitlab-ctl reconfigure
- 重启gitlab
docker restart gitlab
image.png
- 启动gitlab较慢,遇到502多等一会。
-
启动成功,看到clone的url已经修改成了ip
image.png
windows上用docker搭建gitlab私库
- 注意更改gitlab的config/logs/data的目录到windows的指定目录
docker run -d --hostname localhost -p 10080:80 -p 10443:443 --name gitlab --restart always -v D:\java\docker\gitlab\config:/etc/gitlab -v D:\java\docker\gitlab\logs:/var/log/gitlab -v D:\java\docker\gitlab\data:/var/data/gitlab gitlab/gitlab-ce:latest
- 上面的命令执行完后可执行下面命令查看gitlab容器的状态
docker ps -a
- 如果状态一直是health: starting 而不变成healthy,则打开配置文件夹,如上面长命令中设置的配置文件夹为D:\java\docker\gitlab\config,则打开这个文件夹下的gitlab.rb文件。修改其中配置
external_url 'http://你的ipv4地址'
gitlab_rails['gitlab_shell_ssh_port'] = 10022
- 再次执行docker ps -a发现状态变成healthy就可以访问了,没变可以重启gitlab容器
docker restart gitlab
- 成功启动后访问localhost:10080就可以设置密码了。默认账户名root