如果没有现成的云服务器, 可以通过虚拟机VirtualBox安装CentOS7 体验本次安装过程
VirtualBox创建CentOS7虚拟机简洁教程 https://www.v2fy.com/p/2021-08-10-virtualbox-centos7-1628588525000
安装docker
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
sudo yum install -y docker-ce-18.09.1 docker-ce-cli-18.09.1 containerd.io
测试docker是否安装成功
sudo systemctl start docker
sudo docker run hello-world
![](https://i-blog.csdnimg.cn/blog_migrate/0d5f786d3b6a96bab36759a76871e51f.png)
设置docker开机启动,
sudo systemctl enable docker
![](https://i-blog.csdnimg.cn/blog_migrate/7b2f37f664a5095b7d2cd6268b9ce6e9.png)
安装 docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
设置gitlab 工作目录
mkdir -p /srv/gitlab
chmod 777 -R /srv
export GITLAB_HOME=/srv/gitlab
将配置信息写入docker-compose.yml
cat <<EOF >/opt/docker-compose.yml
web:
image: 'gitlab/gitlab-ce:14.0.7-ce.0'
restart: always
hostname: 'gitlab.example.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://gitlab.example.com:8929'
gitlab_rails['gitlab_shell_ssh_port'] = 2224
ports:
- '8929:8929'
- '2224:22'
volumes:
- '$GITLAB_HOME/config:/etc/gitlab'
- '$GITLAB_HOME/logs:/var/log/gitlab'
- '$GITLAB_HOME/data:/var/opt/gitlab'
EOF
这个配置文件里面的 gitlab.example.com
是一个示例, 可以替换为ip 或 拥有的域名, 如果是本地测试用, 可以往/etc/ hosts
内添加以下内容
192.168.56.101 gitlab.example.com
添加执行权限
sudo chmod 755 /opt/docker-compose.yml
启动
cd /opt
docker-compose pull
docker-compose up -d
这个启动过程比较漫长
![](https://i-blog.csdnimg.cn/blog_migrate/5bb08f64f43816bf315d68e39534e4ad.png)
等待期间,通过浏览器访问服务,会出现502的页面,多等一会儿就好了
![](https://i-blog.csdnimg.cn/blog_migrate/b42673bba2c9565609b2281cd052ff43.png)
喝完一杯咖啡,这个服务就启动好了!
![](https://i-blog.csdnimg.cn/blog_migrate/0adebc3884ed93eb06874bc47e15b280.png)
在外部访问 http://192.168.56.101:8929/
![](https://i-blog.csdnimg.cn/blog_migrate/10021af2f24f38615d773118df52b677.png)
开始使用
- 注册新用户
![](https://i-blog.csdnimg.cn/blog_migrate/a6175146b1ca455b4917c4fa9932c75d.png)
- 填写信息并注册
![](https://i-blog.csdnimg.cn/blog_migrate/a2549fe3154bd64d66eddedfbf4affbf.png)
- 填写信息后,会自动跳转到登录页面
![](https://i-blog.csdnimg.cn/blog_migrate/409b20ef47b231b6c65f506f36b65890.png)
但现在是无法登陆的。
我们需要先登陆管理员用户, 进行授权
- 进入容器
docker exec -it 容器id bash
![](https://i-blog.csdnimg.cn/blog_migrate/7b3c9ffd945a20f24a2007cf501f666e.png)
- 查看登录密码
cat /etc/gitlab/initial_root_password
![](https://i-blog.csdnimg.cn/blog_migrate/55b1130f7440de49402da27545f6e858.png)
root登录密码需要记下来,或者通过运行cp /etc/gitlab/initial_root_password /etc/gitlab/initial_root_password_backup
, 做个备份, 登录成功后, 这个initial_root_password文件会在24小时后自动删除
查看完成后, 可以使用 Ctrl + D
安全离开容器的bash
- 登录管理员用户
![](https://i-blog.csdnimg.cn/blog_migrate/d5d33642b80c9f43b5f03261fd1f4722.png)
- 登录成功
![](https://i-blog.csdnimg.cn/blog_migrate/f260e521ea3330805a46c337e61ce47a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d47262291a98aa4c13f0d50637b65a55.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e548945b77a11245768847ecb97b3918.png)
- 此刻我们可以使用新用户 zhaoolee直接登陆了
![](https://i-blog.csdnimg.cn/blog_migrate/cb51f213f60c612108fd192146559c74.png)
- 将界面修改为中文
![](https://i-blog.csdnimg.cn/blog_migrate/396e3278d5eb1190bd5f48425bd7958b.png)
刷新页面, 发现大部分页面内容完成了汉化
![](https://i-blog.csdnimg.cn/blog_migrate/160db72bb6287e87a252df00a04c7311.png)
新建项目
![](https://i-blog.csdnimg.cn/blog_migrate/d03381d1c1d58f4f44247fb182765250.png)
- 创建空白项目
![](https://i-blog.csdnimg.cn/blog_migrate/5447b51bbb8ea9ebfb5c8093e3ae2d36.png)
![](https://i-blog.csdnimg.cn/blog_migrate/80cc379af0ada433337cb11207bcc28e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2b238589ce1f9c2723fb9b456b4a9f15.png)
到了这一步gitlab的各种操作和github的操作非常类似了。
小结
gitlab可以做为个人的知识库,所有github上可以玩的骚操作,都可以放到gitlab完成,功能完备,使用免费,且数据安全有保证。