场景

CentOS7中Docker的安装与配置:

CentOS7中Docker的安装与配置_BADAO_LIUMANG_QIZHI的博客-CSDN博客

首先按照上面在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

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

 

官方教程地址:

GitLab Docker images | GitLab

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐