docker部署gitlab过程中遇到的一些问题记录

用nginx代理docker部署的gitlab服务

一般咱们不会去暴露很多端口给外面,所以部署完gitlab后,我希望能够用nginx来代理我们的gitlab服务。

gitlab的docker部署参考这个大佬的文章
https://developer.aliyun.com/article/922952

我想做到下面这个结构,理想很美好,但是ssh的代理好像需要用到steam这个功能,我的nginx没有装这个,就懒得改了。而且好像ssh的代理到头来还是需要一个端口,那就和我减少端口暴露的初衷不一样了,所以最后只做了网页的proxy。
在这里插入图片描述

nginx.conf:
咱们主要用到nginx的proxy_pass这个配置。

     location  /git_index {
            proxy_pass http://127.0.0.1:10008;
        }

gitlab.rb:
主要是需要给我们的链接都添加一个前缀,让各个跳转链接都能正常识别。

external_url 'http://192.168.119.128/git_index/'
# external_url 'http://你的ip/对应的链接识别url/'

密码重置

docker部署的初始密码在重新启动后就不能用了。
所以需要手动进控制台修改密码,修改步骤如下。

https://docs.gitlab.com/ee/security/reset_user_password.html

1.打开console
docker exec -it gitlab-rails console

2.查询用户

user = User.find_by_username 'root'
user.password = new_password
user.save!
exit

docker0网卡异常

上传的虚拟机镜像被运维关掉了docker0网卡。
导致我的容器没办法链接网络,需要重启docker0。
可以根据下面这个操作来。

pkill docker 
iptables -t nat -F 
ifconfig docker0 down 
brctl delbr docker0 
docker -d 
systemctl restart docker
brctl delbr docker0 

这一步遇到问题:
brctl未安装,需要安装了bridge-utils。

离线安装apt的包

顺便研究了一下如何离线下载安装apt包(源网页信息错漏百出。。):
https://www.jianshu.com/p/434a50c6c0ed

找到依赖的包

apt-cache depends packname

下载指令(-d即下载指令):

apt-get install dependpackname --reinstall -d

然后这个文章竟然没有说包下载到哪里去。。。
下载包目录:

/var/cache/apt/archives/

最后他说,以下指令我没有测试,因为bridge-utils没啥依赖,下面的指令还请自行测试。

再次,批量安装。用shell命令组合来一键下载所有所依赖的包。

#有些包名中有<>符号,用tr将其删除
sudo apt-get install --reinstall -d `apt-cache depends packname | grep depends | cut -d: f2 |tr -d "<>"`
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值