1.不知由于什么原因,导致gitlab开机起不来,所以重装gitlab
删除镜像,重新下载
$docker pull twang2218/gitlab-ce-zh:11.0
#安装gitlab
$docker run -d -p 443:443 -p 80:80 -p 22:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab twang2218/gitlab-ce-zh:11.0
# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
2.修改gitlab.rb文件
按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/home/gitlab/config/gitlab.rb)。
#路径
$vim /home/gitlab/config/gitlab.rb
# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://192.168.10.171'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.10.171'
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的22端口
:wq #保存配置文件并退出
3.启动gitlab
# 重启gitlab容器
$ docker restart gitlab
4.配置好公钥之后推送镜像,发现报错,不能推送
5.解决问题发现主机密钥被更改,我们打开/home/ydt/.ssh/known_hosts文件
注意这行“违规的密匙 在/home/ydt/.ssh/known_hosts:1”
我们可以通过cat命令(cat /root/.ssh/known_hosts)来查看一下文件内容
之后直接删除第一行文件内容,或者更大胆一些可以清空文件内容
接下来尝试推送项目到gitlab,已经可以推送了。