场景

CentOS7中Docker的安装与配置:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119028701

首先按照上面在CentOS7中安装Docker

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

1、搜索镜像

docker search gitlab

 

 

 

2、拉取镜像

docker pull gitlab/gitlab-ce

拉取完成后查看

docker images

 

 3、服务器上创建数据卷映射路径

mkdir -p /docker/gitlab/config

mkdir -p /docker/gitlab/logs

mkdir -p /docker/gitlab/data

创建好目录后,要赋予权限

chmod 777 -R /docker/gitlab/

4、启动容器

docker run  -d --name gitlab -p 2222:22  -p 8888:80 -p 8443:443 -v /docker/gitlab/config:/etc/gitlab -v /docker/gitlab/logs:/var/log/gitlab -v /docker/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest

说明:

-d //启动在后台
--name //容器名字
-p //端口映射
-v //数据卷挂载映射

 

5、访问gitlab

浏览器访问

http://服务器ip:8888/

会出现如下页面

 

说明gitlab还没准备好,等个几分钟。

再次访问就可以了。

6、获取密码

访问成功后需要获取初始化的密码

进入容器并获取密码

sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

 

 

输出的一长串就是密码,用户名是root

登录成功之后修改密码为自己的密码比如12345678

 

此时Gitlab还没法直接使用,在gitlab上新建仓库并复制克隆地址时发现

此时的仓库地址的ip并不是服务器的ip而是容器的id,这时的仓库路径是没法使用的。

 

 

怎样修改。

首先进入容器并编辑gitlab.rb文件

sudo docker exec -it gitlab editor /etc/gitlab/gitlab.rb

然后按i编辑该文件

修改如下三个地方

external_url 'http://192.168.148.133:8888'  

gitlab_rails['gitlab_ssh_host'] = '192.168.148.133'                                                                                                                                                             

gitlab_rails['gitlab_shell_ssh_port'] = 2222 

这里是修改外部的url地址和端口

修改ssh的ip和端口

 

 

保存并退出后如果此时还是直接再重启容器会发现无法访问。

因为已经修改了外部的url以及端口

external_url 'http://192.168.148.133:8888'  

 

此时端口已经为8888

而启动命令中

docker run  -d --name gitlab -p 2222:22  -p 8888:80 -p 8443:443 -v /docker/gitlab/config:/etc/gitlab -v /docker/gitlab/logs:/var/log/gitlab -v /docker/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest

还是使用的宿主机的8888端口映射的容器内的80端口,而修改了external_url 就已经修改了容器内gitlab默认的80端口。

所以停止并删除容器

docker stop gitlab

docker rm gitlab

然后重新启动,映射内部端口为8888

docker run  -d --name gitlab -p 2222:22  -p 8888:8888 -p 8443:443 -v /docker/gitlab/config:/etc/gitlab -v /docker/gitlab/logs:/var/log/gitlab -v /docker/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest

此时拉取代码仓库并提交推送都没有问题

 

 

官方教程地址:

https://docs.gitlab.com/ee/install/docker.html

posted on 2021-08-25 19:39  霸道流氓  阅读(87)  评论(0编辑  收藏  举报