docker下gitlab安装、配置、使用(完整版)

前提:
安装Docker,使用yum命令在线安装

yum install docker

安装后查看Docker版本

docker -v

一、查找镜像、拉取镜像、运行容器

1、查找GitLab镜像

docker search gitlab

2、拉取gitlab docker镜像

docker pull gitlab/gitlab-ce:latest

3、运行GitLab并运行容器

sudo docker run -d  -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /srv/gitlab/config:/etc/gitlab -v /srv/gitlab/logs:/var/log/gitlab -v /srv/gitlab/data:/var/opt/gitlab --privileged=true gitlab/gitlab-ce:latest

注:
1、–privileged=true 添加权限,不然无权限创建/srv/gitlab/config/gitlab.rb等配置文件
2、宿主机目录会自动创建(/srv/gitlab/config、/srv/gitlab/logs、/srv/gitlab/data)
在这里插入图片描述

二、修改配置文件

前言:按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/srv/gitlab/config/gitlab.rb

1、 编辑 gitlab.rb配置文件

gitlab.rb文件内容默认全是注释

vim /srv/gitlab/config/gitlab.rb

2、添加external_url

配置http协议所使用的访问地址,不加端口号默认为80

external_url 'http://192.168.43.204'

3、添加访问地址和端口

配置ssh协议所使用的访问地址和端口

gitlab_rails['gitlab_ssh_host'] = '192.168.43.204''

此端口是run时22端口映射的222端口

gitlab_rails['gitlab_shell_ssh_port'] = 222

4、#保存配置文件并退出

:wq 

5、# 重启gitlab容器

docker restart gitlab

6、docker查看gitlab启动日志

docker logs -f gitlab

7、附上配置信息及截图:

# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://192.168.43.204'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.43.204'
gitlab_rails['gitlab_shell_ssh_port'] = 222

docker下gitlab安装、配置、使用(完整版)_第1张图片

三、登录gitlab

1、在浏览器中访问:http://192.168.43.204/

此时项目的仓库地址就变了。如果ssh端口地址不是默认的22,就会加上ssh:// 协议头
打开浏览器输入ip地址(因为我的gitlab端口为80,所以浏览器url不用输入端口号,如果端口号不是80,则打开为:ip:端口号)

2、设置新密码:自定义,输入新密码后,确认即可

docker下gitlab安装、配置、使用(完整版)_第2张图片

3、重新登录页面

用户名:(默认)root
密码:刚才设置的密码
输入用户名密码,登录即可
docker下gitlab安装、配置、使用(完整版)_第3张图片
4、gitlab首页展示
docker下gitlab安装、配置、使用(完整版)_第4张图片

5、创建一个项目

下面我们就可以新建一个项目了,点击Create a project
docker下gitlab安装、配置、使用(完整版)_第5张图片
docker下gitlab安装、配置、使用(完整版)_第6张图片

四、用户使用

1.下载git.exe

双击git.exe安装git(一直点下一步,直到完成)
点击电脑桌面空白地方右键看到如下两行即安装成功
docker下gitlab安装、配置、使用(完整版)_第7张图片
2、设置ssh
打开本地git bash,使用如下命令生成ssh公钥和私钥对

ssh-keygen -t rsa -C '[email protected]'

例如:

ssh-keygen -t rsa -C '[email protected]'

然后一路回车(-C 参数是你的邮箱地址)
docker下gitlab安装、配置、使用(完整版)_第8张图片

3、然后输入命令:

~表示用户目录,比如我的windows就是C:\Users\Administrator,并复制其中的内容

cat ~/.ssh/id_rsa.pub

docker下gitlab安装、配置、使用(完整版)_第9张图片

4、把公钥添加到远程gitlab仓库中

打开gitlab,找到Profile Settings–>SSH Keys—>Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框
docker下gitlab安装、配置、使用(完整版)_第10张图片
docker下gitlab安装、配置、使用(完整版)_第11张图片
或者打开:C:\Users\Administrator.PC-20180929LWLP.ssh\找到id_rsa.pub打开,复制,粘贴即可
docker下gitlab安装、配置、使用(完整版)_第12张图片

5、查看ssh key

docker下gitlab安装、配置、使用(完整版)_第13张图片

五、从gitlab克隆代码

回到gitlab页面点击projects->your projects

1、选择项目

docker下gitlab安装、配置、使用(完整版)_第14张图片
docker下gitlab安装、配置、使用(完整版)_第15张图片

2、复制项目;链接地址

docker下gitlab安装、配置、使用(完整版)_第16张图片

3、进入拉取代码到本地的路径下面

新建一个文件夹,我在这里在我的电脑D盘下新建project文件夹,或者在你想把项目拉取/存放的目录下面

4、右键选择->Git Bash Here

docker下gitlab安装、配置、使用(完整版)_第17张图片

5、设置用户名和邮箱

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

案例:

git config --global user.name "guobin_wb"
git config --global user.email "[email protected]"

在这里插入图片描述

6、查看git全局配置信息

 git config --global --list

在这里插入图片描述
7、克隆项目
git clone 项目地址
案例:

 git clone ssh://[email protected]:222/root/gitlab-test.git

docker下gitlab安装、配置、使用(完整版)_第18张图片

8、在本地目录下面查看,从远程拉去的项目

在这里插入图片描述
从上面可以看出,项目已经从远程拉取下来了

六、本地项目推送远程(gitlab仓库)

1、进入项目中

cd gitlab-test/

docker下gitlab安装、配置、使用(完整版)_第19张图片

2、添加测试文件

echo "test local project push remote rep" > gblf.txt

docker下gitlab安装、配置、使用(完整版)_第20张图片

3、查看git 变更文件状态

git status

docker下gitlab安装、配置、使用(完整版)_第21张图片
注:
红色部分代表:需要提交的文件
红色变更文件只在工作区,尚未添加至暂存区

4、将变更的文件添加在暂存区

git add gblf.txt

注:
git add . :指所有变更的文件
git add 文件名 :指:单个变更文件
git add 文件名 文件名 :指多个变更文件

在这里插入图片描述

5、提交至本地仓库并添加提交信息

git commit -m "first commit project "

注:
git commit -am "first commit project "和上面的区别:
第二个可以省去git add 这个步骤
在这里插入图片描述

6、将本地仓库推送到远程,也就是提交到gitlab

git push origin master

docker下gitlab安装、配置、使用(完整版)_第22张图片

6、登录远程查看

docker下gitlab安装、配置、使用(完整版)_第23张图片
docker下gitlab安装配置使用(完整版)
参考链接:https://www.jianshu.com/p/080a962c35b6

你可能感兴趣的:(Gitlab,Docker)