Gitlab容器启动命令:

docker run -d     --name gitlab     --publish : --publish :     --hostname gitlab-server     --volume /etc/localtime:/etc/localtime:ro     --volume /volume-data/gitlab/config:/etc/gitlab     --volume /volume-data/gitlab/logs:/var/log/gitlab     --volume /volume-data/gitlab/data:/var/opt/gitlab     -e TZ="Asia/Shanghai"     -e GITLAB_OMNIBUS_CONFIG=" \
external_url 'http://xxx.xxx.xxx.xxx:80/'; \
gitlab_rails['gitlab_shell_ssh_port']=; \
gitlab_rails['time_zone'] = 'Asia/Shanghai'; \
gitlab_rails['gitlab_email_enabled']=false; \
gitlab_rails['backup_keep_time']=; \
user['git_user_email']='hello@qq.com'" --restart always gitlab/gitlab-ce:10.7.3-ce.0

修改端口版命令:

#如果修改端口,命令格式示例如下
docker run -d --name gitlab --publish : --publish : --hostname gitlab-server --env' GITLAB_PORT=8090' --volume /etc/localtime:/etc/localtime:ro --volume /volume-data/gitlab/config:/etc/gitlab --volume /volume-data/gitlab/logs:/var/log/gitlab --volume /volume-data/gitlab/data:/var/opt/gitlab -e TZ="Asia/Shanghai" -e GITLAB_OMNIBUS_CONFIG=" \
gitlab_rails['gitlab_shell_ssh_port']=; \
gitlab_rails['time_zone'] = 'Asia/Shanghai'; \
gitlab_rails['gitlab_email_enabled']=false; \
unicorn['worker_processes']= \
gitlab_rails['backup_keep_time']=" --restart always gitlab/gitlab-ce:10.7.3-ce.0

带邮箱配置版:

docker run -d     --name gitlab     --publish : --publish :     --hostname gitlab-server     --volume /etc/localtime:/etc/localtime:ro     --volume /volume-data/gitlab/config:/etc/gitlab     --volume /volume-data/gitlab/logs:/var/log/gitlab     --volume /volume-data/gitlab/data:/var/opt/gitlab     -e TZ="Asia/Shanghai"     -e GITLAB_OMNIBUS_CONFIG=" \
external_url 'http://xxx.xxx.xxx.xxx:80/'; \
gitlab_rails['gitlab_shell_ssh_port']=; \
gitlab_rails['time_zone'] = 'Asia/Shanghai'; \
gitlab_rails['gitlab_email_enabled']=true; \
gitlab_rails['gitlab_email_from']='hello@qq.com'; \
gitlab_rails['gitlab_email_display_name']='My GitLab'; \
gitlab_rails['gitlab_email_reply_to']='noreply@example.com'; \
gitlab_rails['gitlab_email_subject_suffix']='My GitLab'; \
gitlab_rails['smtp_enable']=true; \
gitlab_rails['smtp_address']='smtp.qq.com'; \
gitlab_rails['smtp_port']=; \
gitlab_rails['smtp_user_name']='hello@qq.com'; \
gitlab_rails['smtp_password']='hguqvkefriovciic'; \
gitlab_rails['smtp_domain']='qq.com'; \
gitlab_rails['smtp_authentication']='login'; \
gitlab_rails['smtp_enable_starttls_auto']=true; \
gitlab_rails['smtp_tls']=false; \
gitlab_rails['backup_keep_time']=; \
user['git_user_email']='hello@qq.com'" --restart always gitlab/gitlab-ce:10.7.3-ce.0

在容器中备份代码:

进入容器,执行命令:

gitlab-rake gitlab:backup:create

完成后从宿主机的以下目录可以找到备份文件(前提是做了像上文一样的目录映射)

cd /volume-data/gitlab/data/backups

备份内容恢复:

第一步,将备份文件权限修改为777,不然可能恢复的时候会出现权限不够,不能解压的问题

chmod  1502357536_2017_08_10_9..3_gitlab_backup.tar 

第二步,执行命令停止相关数据连接服务

# 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq123

第三步,执行命令从备份文件中恢复Gitlab

gitlab-rake gitlab:backup:restore BACKUP=备份文件编号1
例如我们的备份文件的编号是1502357536_2017_08_10_9.4.3,因此执行下面的命令即可恢复gitlab
gitlab-rake gitlab:backup:restore BACKUP=1502357536_2017_08_10_9.4.3 sudo gitlab-ctl start

gitlab Docker容器创建命令以及从容器中备份gitlab仓库示例的更多相关文章

  1. docker镜像创建redis5.0.3容器集群

    拉取redis5.0.3镜像 # docker pull daocloud.io/library/redis:5.0.3 [root@localhost ~]# docker pull daoclou ...

  2. docker 让容器执行命令 与 进入容器交互

    直接执行命令docker exec mynginx cat /etc/nginx/nginx.conf 进入容器交互docker exec -it 80nginx /bin/bash

  3. Docker的容器创建以及基本命令

    1. 使用docker run创建docker容器,(docker命令都是以docker开头的)安装完docker后,大多数情况下,本机上面一般没有docker镜像的,执行docker run的时候一 ...

  4. docker学习笔记2--对镜像/容器的命令操作

    Docker启动一个Centos镜像 我们下载完成一个Centos镜像之后,开始启动 docker run -d -i -t <imageID> /bin/bash 这样就能启动一个一直停 ...

  5. docker run 创建容器

    docker run常用命令 docker run :创建一个新的容器并运行一个命令 - 语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 1.OPTI ...

  6. 『现学现忘』Docker常用命令 — 20、容器常用命令(二)

    提示:接上一篇 目录 9.后台启动容器 10.查看容器日志 11.查看容器内运行的进程 12.查看容器内部细节 9.后台启动容器 后台启动容器也叫启动守护式容器. 命令:docker run -d 镜 ...

  7. Docker操作笔记(二)容器

    容器 一.启动容器 启动一个容器有两种方式: 1.基于镜像新键并启动一个容器: 所需要的主要命令为docker run docker run ubuntu:18.04 /bin/echo " ...

  8. 再见 Docker,是时候拥抱下一代容器工具了

    本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux. 「运维之美」是一个有情怀.有态度,专注于 Linux 运维相关技术文章分享的公众号.公众号致力于为广大运维工作者分享各类技术文章和 ...

  9. docker:相关命令

    1.查看正在运行的容器 docker ps docker ps -a 查看所有的容器,包括已经停止了的 2.WORKDIR Dockerfile中的WORKDIR指令用于指定容器的一个目录,容器启动时 ...

随机推荐

  1. Java Timer, TimerTask, Timer.Schedule

    schedule的意思(时间表.进度表) timer.schedule(new TimerTask(){ void run()},0, 60*60*1000);timer.schedule(new M ...

  2. [转] Java接口_interface_implements

    相对抽象类来讲,接口就是比抽象类还要抽象的抽象类,丝毫不带半点实现的内容.接口可以更加规范的对子类进行约束.接口全面地专业地实现了:规范和具体实现的分离.接口就是规范,定义的是一组规则,提现了现实世界 ...

  3. 关于C#中”扩展方法必须在非泛型静态类中定义“问题的解决

    问题描述: 在某个窗口下的编码中使用了以下扩展方法FindControl,以求根据字符串的值去操作控件(本文中的控件为Label控件)的属性. public static Control FindCo ...

  4. Jmeter如何提取响应头部的JSESSIONID

    近期有柠檬班的学生找到华华,问了一个问题,就是利用Jmeter做接口测试的时候,如何提取头部的JSESSIONID然后传递到下一个请求,继续完成当前用户的请求. 其实,关于这个问题有三种种解决方法: ...

  5. js后退

    history.back(-1):直接返回当前页的上一页,数据全部消息,是个新页面 history.go(-1):也是返回当前页的上一页,不过表单里的数据全部还在 history.back(0) 刷新 ...

  6. 008.Docker Flannel+Etcd分布式网络部署

    一 环境准备 1.1 Flannel概述 Flannel是一种基于overlay网络的跨主机容器网络解决方案,即将TCP数据包封装在另一种网络包里面进行路由转发和通信,Flannel是CoreOS开发 ...

  7. Git学习笔记:基础篇

    git可以说是所有开发者出开发语言之外的最基本的基本功了,熟悉git可以方便的进行代码版本控制,以及与其他开发者进行合作开发.本文内容是我以往学习git时做的笔记,主要是关于git最基本的操作,但 只 ...

  8. C#多线程编程实战(二):线程同步

    2.1 简介 竞争条件:多个线程同时使用共享对象.需要同步这些线程使得共享对象的操作能够以正确的顺序执行 线程同步问题:多线程的执行并没有正确的同步,当一个线程执行递增和递减操作时,其他线程需要依次等 ...

  9. Python3自然语言(NLTK)——语言大数据

    NLTK 这是一个处理文本的python库,我们知道文字性的知识可是拥有非常庞大的数据量,故而这属于大数据系列. 本文只是浅尝辄止,目前本人并未涉及这块知识,只是偶尔好奇,才写本文. 从NLTK中的b ...

  10. Python3面向对象基础

    面向对象概述 面向对象 面向对象的世界,引入了对象的概念,对象具有属性:数据,对象具有过程或者方法:成员函数.成员函数的作用就是处理属性. 例子 对象:Car 属性:fuel_level, isSed ...