爱生活,爱分享


Docker安装Gitlab

haiten 2019-11-17 557浏览 0条评论
首页/正文
分享到: / / / /

原文链接: https://www.cnblogs.com/zuxing/articles/9329152.html

参考文档: https://hub.docker.com/r/beginor/gitlab-ce/

一、获取镜像

方法1:

docker pull beginor/gitlab-ce:11.3.0-ce.0

方法2:

如果服务器网路不好或者pull不下来镜像,只能在其它网路比较好的机器上pull下来镜像,导出成一个文件,再下载上传到网路不好的机器上,然后再从文件中导出来,这样在网络不好的机器上也能使用docker镜像了。

cd /data/tmp
xz -d beginor-gitlab-ce-11.3.0-ce.0.tar.xz 
docker load < beginor-gitlab-ce-11.3.0-ce.0.tar

二、运行

1、通常会将 GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目录。

rm -rf /data/gitlab
mkdir -p /data/gitlab/etc /data/gitlab/log /data/gitlab/data

2、如果启用了防火墙,则先进行端口的放通

firewall-cmd --permanent --add-port=9922/tcp
firewall-cmd --permanent --add-port=9980/tcp
firewall-cmd --reload
firewall-cmd --list-all

3、接着就可以开始运行 Docker 镜像了。 我的建议是使用 unless-stopped 作为重启策略, 因为这样可以手工停止容器, 方便维护。

docker run \
 --detach \
 --name gitlab \
 --restart unless-stopped \
 -p 9922:22 \
 -p 9980:9980 \
 -v /data/gitlab/etc:/etc/gitlab \
 -v /data/gitlab/log:/var/log/gitlab \
 -v /data/gitlab/data:/var/opt/gitlab \
beginor/gitlab-ce:11.3.0-ce.0

三、配置GitLab主机名

修改 /data/gitlab/etc/gitlab.rb

nano /data/gitlab/etc/gitlab.rb
--------------------------------------------------------------------------
gitlab_rails['gitlab_ssh_host'] = '192.168.56.101'  
gitlab_rails['gitlab_shell_ssh_port'] = 9922
external_url 'http://192.168.56.101:9980'
nginx['listen_port'] = 9980
nginx['redirect_http_to_https_port'] = 9980
--------------------------------------------------------------------------

如果还是不能正常访问的话,检查端口是否被占用。

四、配置并启动GitLab

像上面步骤修改了 GitLab 的 ip 地址一样,临时修改了GitLab的配置之后,得执行如下的命令,应用重新配好的配置并重启 GitLab,然后查看 GitLab 的状态。

因为是容器,所以要进入到gitlab容器中执行命令:

docker exec -ti gitlab /bin/bash
gitlab-ctl reconfigure
gitlab-ctl restart
gitlab-ctl status

五、登陆

打开浏览器,输入本机的 ip 地址并登陆:

http://192.168.56.101:9980

默认帐户的用户名是root,第一次访问时,将被重定向到密码重置屏幕,登录后,您可以更改用户名。

六、常用的几个Gitlab命令

# 重新应用gitlab的配置
gitlab-ctl reconfigure
 
# 重启gitlab服务
gitlab-ctl restart
 
# 查看gitlab运行状态
gitlab-ctl status
 
#停止gitlab服务
gitlab-ctl stop
 
# 查看gitlab运行日志
gitlab-ctl tail
 
# 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sideki

七、错误

1、docker启动报错信息如下:

Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen<strong>解决:</strong>

解决:

检查docker端口映射是否冲突

重启docker服务后再启动容器

systemctl restart docker
docker start gitlab

八、升级

小版本升级(例如从 8.8.2 升级到 8.8.3), 参照官方的说明, 将原来的容器停止, 然后删除:

docker stop gitlab
docker rm gitlab

然后重新拉一个新版本的镜像下来:

docker pull beginor/gitlab-ce:11.3.0-ce.0

还使用原来的运行命令运行:

docker run \
 --detach \
 --name gitlab \
 --restart unless-stopped \
 -p 9922:22 \
 -p 9980:9980 \
 -v /data/gitlab/etc:/etc/gitlab \
 -v /data/gitlab/log:/var/log/gitlab \
 -v /data/gitlab/data:/var/opt/gitlab \
beginor/gitlab-ce:11.3.0-ce.0

GitLab 在初次运行的时候会自动升级, 为了预防万一, 还是建议先备份一下 /data/gitlab/ 这个目录。

大版本升级(例如从 8.7.x 升级到 8.8.x)用上面的操作有可能会出现错误, 如果出现错误可以尝试登录到容器内部, 可以用 docker exec , 也可以用 ssh , 依次执行下面的命令:

gitlab-ctl reconfigure
gitlab-ctl restart

九、生成本地 SSH 密钥

需要本地安装 Git 客户端,然后通过 git 的控制台执行:

mkdir ~/.ssh
cd ~/.ssh/
ssh-keygen -t rsa -C "邮箱"
git config --global user.name "姓名"
git config --global user.email "邮箱"
最后修改:2019-11-17 01:48:18 © 著作权归作者所有
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

上一篇

发表评论

说点什么吧~

评论列表

还没有人评论哦~赶快抢占沙发吧~