一、概述
By星年
文章参考
常用命令参考:(为了方便复制命令都做了换行处理,可直接双击复制。)
进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.下载
x64 WSL2 Linux 内核更新包
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
需要配置域名,邮箱及https请看原文**:[跳转链接](https://blog.csdn.net/pkrobbie/article/details/113837392?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167651076216800192284257%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167651076216800192284257&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-113837392-null-null.142%5Ev73%5Einsert_down3,201%5Ev4%5Eadd_ask,239%5Ev1%5Einsert_chatgpt&utm_term=windows%2010%E5%AE%89%E8%A3%85gitlab%20docker&spm=1018.2226.3001.4187)
附:
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