一、概述
常用命令参考:(为了方便复制命令都做了换行处理,可直接双击复制。)
进docker terminal:docker exec -it gitlab /bin/bash
查看容器列表:docker ps -a
查看镜像列表:docker images
gitlab备份:/opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
gitlab备份目录:vi /etc/gitlab/gitlab.rb
简述:在Windows环境下,实现Linux相关服务的使用,例:gitlab、Ubuntu。
当前环境Windows10专业版(操作系统内部版本19044.2604)
步骤:
1、WSL2安装:Windows Subsystem for Linux,顾名思义Windows中的Linux子系统。
2、docker安装:docker容器,关键词:轻量、标准、隔离。
3、gitlab安装:代码管理仓库、工具。
4、Ubuntu安装:Linux操作系统
附:
gitlab设置密码、设置中文
Windows terminal工具
docker数据存储位置变更
docker数据备份
gitlab数据备份
tips:power shell和cmd都可以用,Windows terminal也可以,出现奇怪问题就换工具试试,具体自测。
tips:敲完命令别着急下一步,看看有没有cannot等问题报错在进行下一步。
1、WSL2.0
1.启用适用于 Linux 的 Windows 子系统:
管理员方式运行PowerShell 工具
输入以下命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
注:也可以通过控制面板启用该项服务
2.WSL2运行要求:
Windows10 64 1903或更高版本,采用内部版本18362或更高版本
具体自测吧,没研究
tips:Windows版本查看方法:win+R 输入 winver
3.虚拟机功能:
powershell运行:dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
4.重启电脑
5.下载
6.将WSL 2 设置为默认版本
powershell运行:wsl --set-default-version 2
2、docker desktop
注:建议配置4核8g以上
cpu虚拟化支持开启:进主板bios查看,各电脑场主板进入方法不一样,常用进入键:f2 f8 f12 esc del键,部分笔记本需要按住fn键,个别电脑有锁需先解锁才能进入bios。
1.下载:
docker for Windows 下载后安装,装完点close
2.power shell:
查看docker版本命令:docker version
3.power shell
查看docker状态命令:wsl --list -v
3、gitlab安装
1.镜像拉取:
docker pull gitlab/gitlab-ce
2.power shell查看image镜像信息命令:
docker image l
和docker image inspect gitlab/gitlab-ce
3.进入gitlab docker的linux terminal命令
docker exec -it gitlab /bin/bash
exti
退出
进入后就可以使用需要的命令:
查看gitlab版本号
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
4.准备数据卷
wsl2 docker有volume和bind mount两种管理数据目录的方式。
volume实际保存在docker-desktop-data中。
GitLab主要有三个重要的数据分别是data、config、log,所以创建三个数据卷,后面GitLab服务都是挂在在这几个目录下面。
创建命令:docker volume create gitlab-data-vol
docker volume create gitlab-log-vol
docker volume create gitlab-config-vol
5.gitlab镜像安装:
安装具体的gitlab镜像到上面创建的volume下
docker run --detach `
--publish 443:443 --publish 80:80 --publish 22:22 `
--name gitlab `
--restart always `
--volume gitlab-config-vol:/etc/gitlab `
--volume gitlab-log-vol:/var/log/gitlab `
--volume gitlab-data-vol:/var/opt/gitlab `
gitlab/gitlab-ce
如果代码放不开需要分行执行,需要加续行符:powershell是`, cmd窗口是^, linux是\
power shell查看安装的镜像命令:docker -ps -a
cmd命令:
查看本机IP:ipconfig,找到ipv4地址。局域网内可访问。
**至此内网安装已经完成,访问127.0.0.1可进入gitlab
需要配置域名
附:
1.gitlab设置密码:
root用户的密码放在一个临时文件里:24小时后该文件会删除。
在etc/gitlab目录下有一个initial_root_password文件
cd etc/gitlab/
vi initial_root_password
2.设置中文:
- 1.右上角偏好设置
- 2.下滑找到language
3.Windows terminal工具
进Windows商店:
4.docker数据存储位置变更:
1.查看已安装linux系统:wsl --list -v
2.备份数据:mkdir dockerbackup
cd .\dockerbackup\
wsl --export docker-desktop ./docker-desktop.tar
wsl --export docker-desktop-data ./docker-desktop-data.tar
3.注销分发:wsl --unregister docker-desktop
wsl --unregister docker-desktop-data
4.创建新目录:mkdir \wslDistros\docker-desktop
mkdir \wslDistros\docker-desktop-data
5.重新导入分发:(注意修改盘符!)wsl --import docker-desktop E :\wslDistros\docker-desktop ./docker-desktop.tar
wsl --import docker-desktop-data E:\wslDistros\docker-desktop-data ./docker-desktop-data.tar
命令格式:wsl --import <安装位置> <tar文件名>
6.重启。
5.docker数据备份
1.查看容器列表:
docker ps -a
2.创建快照:(注意修改参数)
`docker commit -p (container id) (container-backup-1)`
3.查看镜像列表:(创建快照成功后会显示)
docker images
4.保存为tar:(注意修改自己要存储的路径和name)
docker save -o (~/container-backup-1.tar) container-backup
5.备份恢复:(注意修改tar包路径)
docker load -i (~/container-backup-1.tar)
6.查看镜像:
docker images
7.运行备份的镜像:(注意修改自己的镜像)
docker run -d -p 80:80 (container-backup-1)
6.gitlab数据备份
1.备份命令:
gitlab-rake gitlab:backup:create
备份完后会在/var/opt/gitlab/backups目录生成tar文件
cd /var/opt/gitlab/backups
2.备份过期时间设置
vi /etc/gitlab/gitlab.rb
修改时间:单位为秒,一天是86400秒。
gitlab_rails['backup_keep_time'] = 604800
改完重载配置文件
gitlab-ctl reconfigure
3.备份目录修改
vi /etc/gitlab/gitlab.rb
修改路径
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
改完重载配置文件gitlab-ctl reconfigure
4.备份恢复:
1. 修改权限(注意修改tar包名)chmod 777 1502357536_2017_08_10_9.4.3_gitlab_backup.tar
2. 停止服务gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
3. 恢复备份(编号在包名上:1502357536_2017_08_10_9.4.3)gitlab-rake gitlab:backup:restore BACKUP=备份文件编号
会有两次交互提示,输入yes继续
4. 启动sudo gitlab-ctl start
5.自动备份:
m h dom mon dow user command
m: 表示分钟,可以是从0到59之间的任何整数。
h:表示小时,可以是从0到23之间的任何整数。
dom:表示日期,可以是从1到31之间的任何整数。
mon:表示月份,可以是从1到12之间的任何整数。
dow:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
user : 表示执行的用户。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件(如shell文件)。
//编辑crontab文件vi /etc/crontab
//添加定时任务0 2 * * * root /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1