写在开始
此实验将Harbor和GitLab装在了同一台虚拟机中,虽然修改了GitLab的端口,但经实验因个体差异导致某些电脑修改端口后GitLab也无法启动,故有了第二篇文档:容器存储和网络基础(新建虚拟机版)
第二篇文档将GitLab独立出来,解决了Harbor和GitLab的端口问题,请根据自身情况选择合适的方案
容器存储和网络基础(修改端口版)
开启Harbor
- 关闭SELinux
sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/configsetenforce 0 - 进入Harbor的安装目录下
cd /root/harbor/ - 虚拟机重启后需要手动开启Harbor
docker-compose start - 或者可以设置Harbor为开机自启动
vi harbor.service在文件中添加以下内容:1
2
3
4
5
6
7[Unit]
Description=Redis
After=network.target
[Service]
ExecStart= /usr/bin/docker-compose start
[Install]
WantedBy=multi-user.target
Docker-compose部署GitLab
- 新建gitlab安装目录
mkdir /usr/local/gitlab/cd /usr/local/gitlab/ - 新建配置文件
vi docker-compose.yml并添加以下内容(注意IP改为你的IP和配置项的缩进格式)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21version: '3'
services:
web:
image: 'twang2218/gitlab-ce-zh'
restart: always
hostname: '192.168.200.120'
environment:
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://192.168.200.120:82'
gitlab_rails['gitlab_shell_ssh_port'] = 2222
unicorn['port'] = 8888
nginx['listen_port'] = 82
ports:
- '82:82'
- '8443:443'
- '2222:22'
volumes:
- ./config:/etc/gitlab
- ./data:/var/opt/gitlab
- ./logs:/var/log/gitlab注:此处因为将Harbor和GitLab装在了同一台服务器上,为避免端口冲突,所以将GitLab的Http端口设置为82。如果82端口不行,改为8181

3. 创建gitlab所需使用的相关目录(此步骤可忽略,也可将上边配置文件的volumes选项修改为此路径)mkdir /opt/gitlab/{config,data,logs} -p
4. 拉取gitlab中文版镜像docker pull twang2218/gitlab-ce-zh
5. 查看镜像是否拉取成功docker images
6. 启动gitlab的容器docker-compose up -d
7. 查看容器是否正常运行docker ps -a
8. 设置gitlab开机启动(第二句echo需设置成你自己的安装目录下)chmod +x /etc/rc.localecho "cd /usr/local/gitlab && docker-compose up -d" >> /etc/rc.local
GitLab相关操作
GitLab创建项目
- 浏览器输入
http://IP地址:82,第一次访问需设置密码(账户名:root,且此处需要指定端口号为82)
- 新建一个项目,项目名称随意填写,设置好后点击
create project创建项目

- 创建好项目后如下图所示,点击按钮复制项目ssh地址,之后会用到

添加密钥
- 在Linux中生成密钥(输入命令后三次回车)
ssh-keygen - 进入文件复制ssh密钥
vi /root/.ssh/id_rsa.pub - 回到浏览器点击右边的头像——设置

- 将复制的密钥添加到gitlab中,点击
Add key添加密钥
Git上传代码到Gitlab仓库
移动到任意一个目录下,克隆远程仓库到本地,仓库地址为上边复制过的SSH地址
cd /rootgit clone 你的仓库地址cd 仓库名称添加git账户
git config --global user.name "自定义账户名"例:
git config --global user.name "root"添加git邮箱
git config --global user.email "你的邮箱"例:
git config --global user.email "[email protected]"上传代码到GitLab(操作与Windows里上传到Github操作一样),以下操作省略详细步骤
git add .git commit -m "1.0.0"git push origin master推送代码后再次查看浏览器上的GitLab仓库,可看见上传成功的结果
扩展
重启服务器后启动Gitlab
- 进入Gitlab的安装目录下
cd /usr/local/gitlab/ - 启动Gitlab
docker-compose up -d - 可使用lsof查看端口占用情况
lsof -i :80 - 导出镜像
docker save 镜像ID > 导出的名称.tar - 导入镜像
docker load -i twang2218-gitlab-ce-zh.tar - 修改镜像名称
docker tag 镜像ID 修改后ID - 停止创建的容器
docker-compose stop - 重启当前目录下的容器
docker-compose -f docker-compose.yml up -d - 删除容器
docker rm 选项 容器ID-f :强制删除一个运行中的容器
-l :移除容器间的网络连接,而非容器本身
-v :删除与容器关联的卷
参考链接
Docker-compose部署gitlab中文版:https://www.cnblogs.com/linuxk/p/10100431.html#2%E3%80%81%E5%AE%89%E8%A3%85docker-compose
Docker-compose安装GitLab:https://blog.csdn.net/weixin_44155097/article/details/102550036
Git相关命令:https://www.cnblogs.com/wwtao/p/12019190.html
GitLab使用自定义端口01:https://blog.csdn.net/shan165310175/article/details/92797199
GitLab使用自定义端口02:https://blog.csdn.net/qq_37171817/article/details/107791947


