docker 安装gitlab血泪史(解决方式telnet查看未开通端口号)
1.docker pull gitlab/gitlab-ce2.执行:docker run -d -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitl...
1.docker pull gitlab/gitlab-ce
2.执行:
docker run -d -p 443:443 -p 80:80 -p 222: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 gitlab/gitlab-ce
# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
3.访问localhost:80,访问失败,,
放心,这里不是80端口冲突,搞了几天,用telnet 命令发现是23端口无法访问
不知道为什么会访问这个端口,不过知道原因就好办了:执行如下命令开放端口号
iptables -A INPUT -p tcp --dport 23 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 23 -j ACCEPT
service iptables save //保存
service iptables restart //重启
4.再次访问,成功,然后设置初始密码(最少八位)进入主页。其他配置需求可另行搜索
5.配置:
按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/home/gitlab/config/gitlab.rb)
# gitlab.rb文件内容默认全是注释
$ vim /home/gitlab/config/gitlab.rb
# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://192.168.199.231'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.199.231'
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
:wq #保存配置文件并退出
# 重启gitlab容器
$ docker restart gitlab
6.总结:网上许多教程都可以成功安装启动gitlab,但是,遇到问题,网上的办法可以借鉴,当这些方法都无法解决的时候,要学会触类旁通,寻找具体原因,只要找到原因,问题也就解决一大半了--谨此,共勉^_^
更多推荐
所有评论(0)