docker 部署gitlab11.8.0

获取镜像

docker pull gitlab/gitlab-ce:11.8.0-ce.0

启动容器

使用如下脚本

#!/bin/bash

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

docker run \
-d              \
-p 8443:443      \
-p 80:80       \
-p 8022:22       \
--restart always \
--name gitlab   \
-v $PWD/gitlab/etc:/etc/gitlab    \
-v $PWD/gitlab/log:/var/log/gitlab   \
-v $PWD/gitlab/data:/var/opt/gitlab  \
--privileged=true        \
gitlab/gitlab-ce:11.8.0-ce.0

修改配置

vim gitlab/etc/gitlab.rb 

# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://10.0.1.181'

#配置ssh协议所使用的访问地址
gitlab_rails['gitlab_ssh_host'] = '10.0.1.181'
#配置ssh协议所使用的访问端口,此端口是run时22端口映射的8022端口
gitlab_rails['gitlab_shell_ssh_port'] = 8022

:wq #保存配置文件并退出
        
# 重启gitlab容器
 docker restart gitlab

修改root登录密码

# 进入容器内部
docker exec -it gitlab /bin/bash

# 进入控制台
gitlab-rails console -e production

# 查询id为1的用户,id为1的用户是超级管理员
user = User.where(id:1).first
# 修改密码为12345678
user.password='12345678'
# 保存
user.save!
# 退出
exit;

也可以 用 下面 命令直接查找 root 初始化密码 然后在页面手动修改

docker exec -it gitlab grep "Password:’ /etc/gitlab/initial_root_password"

登录web直接输入: 10.0.1.181即可,因为默认端口80被映射出来了。用户名 root ,密码 12345678,首次登陆提示修改密码,按照提示修改即可。

如果使用默认端口如果启动不了可以按照如下方式尝试

如果无法创建项目:进入到容器后执行 chmod 777 /tmp -R

如果无法ssh方式克隆:进入到容器后执行 mkdir /var/run/sshd

参考配置:

external_url 'http://git.abc.com'
gitlab_rails['gitlab_ssh_host'] = 'git.abc.com'
gitlab_rails['gitlab_shell_ssh_port'] = 22 # 此端口是run时22端口映射的222端口

其他常用操作

  1. 如果远程仓库地址发生改变需要修改本地仓库对应远程仓库的url时可以使用如下命令:git remote set-url origin <新的仓库URL>
  2. 备份:默认目录为/var/opt/gitlab/backups,自定义备份目录需要赋予目录git权限。
    1. 自定义目录的配置文件修改 /etc/gitlab/gitlab.rb
      1. gitlab_rails['manage_backup_path'] = true
      2. gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
    2. 手动备份
      1. 使用命令:gitlab-rake gitlab:backup:create
  3. 恢复备份:
    1. 首先把需要恢复的备份放到默认备份目录下
    2. 其次停止相关服务
      1. gitlab-ctl stop unicorn
      2. gitlab-ctl stop sideki
    3. 最后恢复:gitlab-rake gitlab:backup:restore
  4. 修改配置重新加载命令:gitlab-ctl reconfigure
  5. 扩展:定时操作(比如备份)
    1. 使用命令:crontab
      1. crontab -e
         0 3 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
      2. 说明
        1. 
          上述时间格式为:分时日月周
          m: 表示分钟,可以是从0到59之间的任何整数。
          h:表示小时,可以是从0到23之间的任何整数。
          dom:表示日期,可以是从1到31之间的任何整数。
          mon:表示月份,可以是从1到12之间的任何整数。
          dow:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
          user : 表示执行的用户。
          command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值