windows10环境下安装docker、Ubuntu、gitlab、wsl2

一、概述

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 ldocker 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. 1.右上角偏好设置

在这里插入图片描述

  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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/28215.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AIGC的发展史:从模仿到创造,AI的创造性探索

在 AI时代&#xff0c;人工智能不再是简单的机器&#xff0c;而是一个具有无限创造力的创造者。AIGC的诞生是人工智能从模仿到创造的一种进步&#xff0c;也是对人类创造力的一种新探索。 而这种由AI生成的内容究竟是如何发展而来的呢&#xff1f;在本文中&#xff0c;我们将探…

如何解决微信支付回调:支付成功及支付失败都不进行任何操作(支付坑)

这几天都在用微信支付这块功能&#xff0c;不得不吐槽一下微信支付的小坑 关于微信提供JSAPI文档&#xff0c;本来想着他们写的开发文档&#xff0c;肯定是没有任何问题。 结果在开发测试中&#xff0c;支付完成后或者支付失败都没任何效果。 我已经在JS里面做了跳转&#xff0…

android微信支付返回-1,支付失败总结!

解决办法1&#xff1a;看看二次生成sign的参数顺序是否跟我发的一致&#xff01;很坑爹&#xff0c;必须一样才行&#xff01; 解决办法2&#xff1a;请求得到prepayid参数的url必须是图中的Url

微信支付下载对账单400Bad Request问题解决方式

今天在做项目时, 需要用到微信支付的对账接口, 看了好多人的反馈, 加上自己的测试, 在用API V3生成了Sign后,对download_url进行Get请求访问时, 依然会出现问题, 就是Nginx报错400 Bad Request 看了好多人的文章, 基本上都是用的调用sdk生成的httpClient再次进行调用, 如下图 …

微信支付异常(“应答的微信支付签名验证失败“)记录

原因是&#xff1a; 配置错了“微信支付平台证书”&#xff1b; 如何解决&#xff1a; 1.下载 微信支付平台证书下载工具(Certificate Downloader)https://github.com/wechatpay-apiv3/CertificateDownloader 得到 CertificateDownloader-1.1.jar 2.执行命令 java -jar Cer…

postman-模拟上传图片

一、Chrome打开layui : 图片上传 右键打开检查&#xff0c;选择network&#xff0c;上传图片查看到&#xff1a; 二、postman测试 打开postman先设置post&#xff0c;并将url填好 : https://httpbin.org/post 选择form-data&#xff1a;添加key/value : key为与后台约定字段(一…

【苹果群发iMessage推送位置推】软件安装将会按照 Developer Program License Agreement

推荐内容IMESSGAE相关 作者推荐内容iMessage苹果推软件 *** 点击即可查看作者要求内容信息作者推荐内容1.家庭推内容 *** 点击即可查看作者要求内容信息作者推荐内容2.相册推 *** 点击即可查看作者要求内容信息作者推荐内容3.日历推 *** 点击即可查看作者要求内容信息作者推荐…

风辞远的科技茶屋:可怖的AI

大家好&#xff0c;我是脑极体的风辞远。一直以来我们都在写大块文章&#xff0c;很少有机会跟大家聊天。时间长了&#xff0c;总觉得这种方式有一点冷漠感&#xff0c;不够轻松&#xff0c;加上往往每篇文章只聚焦一个话题&#xff0c;而我们产能有限&#xff0c;就会有很多值…

千万别再乱点黄色APP了!

上一篇&#xff1a;文心一言员工跳槽工资翻倍&#xff0c;猎头&#xff1a;百万年薪很正常 网络诈骗千千万&#xff0c;涉黄APP占一半。 小伙来自山东菏泽&#xff0c;失手在手机上下载了非法的涉黄APP&#xff0c;当他准备观看视频时发现&#xff0c;需要充值成为会员或完成任…

如何分析系统平均负载过高?

文章目录 前言uptime命令平均负载平均负载到底是多少才合理平均负载和CPU的关系CPU与进程1比1&#xff0c;CPU使用率高导致负载变高I/O高&#xff0c;导致负载高进程数超过CPU数&#xff0c;导致负载高 前言 我相信你应该用过uptime命令查询系统负载的情况&#xff0c;或者在各…

线上负载过高排查(top/vmstat/ifstat/free/df)

目录 一、五大命令 二、故障排查步骤 1、top命令找出CPU占比最高的 2、ps -ef 或者 jps -l进一步定位 3、ps -mp位到具体线程或者代码 4、jstack精准定位到错误的地方 本文通过学习&#xff1a;周阳老师-尚硅谷Java大厂面试题第二季 总结的LinuxJDK命令操作相关的笔记 一…

解决Linux 负载过高问题过程记录

解决问题的思路 1.top命令查看该机器的负载状况 2.cd /proc/pid 查看对应高占用程序的位置 3.进入对应程序中查看日志&#xff0c;根据CPU和内存这两个因素分析 4.ps -ajxf 查看进程及其之下的线程&#xff0c;通过stat查看是否存在D僵尸进程 1.什么是负载过高 1.1load A…

假如ChatGPT 去面试前端工程师,结果会怎么样?

近日&#xff0c;有个叫 ChatGPT 的同学来我司面试前端&#xff0c;考考他面试八股文。先来问问闭包。 第一问&#xff0c;说说 JS 闭包 追问&#xff0c;详细讲讲闭包 由于篇幅太长&#xff0c;转成文字&#xff0c;以下皆为 ChatGPT 回答 闭包是一个非常重要的 JavaScript 概…

青椒肉丝饭

今天第一次来华德吃饭&#xff0c;为了吃这顿饭跑遍了半个上海。 先是去长乐路上的大铁门排挡吃自助&#xff0c;结果人家收摊了&#xff0c;估计都回家过年了吧。 然后又去新华路上的粮仓饭湘&#xff0c;结果人满为患&#xff0c;连个站的地方都没有。 最后回到北新泾这里…

五花青椒包菜

[猪头]每次做完菜&#xff0c;第一口一定要找块好肉尝尝。肉好吃&#x1f60b;&#xff0c;这道菜就差不了&#xff0c;下饭。 ​[调皮]肉不好吃的菜&#xff0c;没有灵魂。 ​[愉快]今天的菜&#xff0c;五花肉青椒土豆包菜。

青椒肉丝

青椒肉丝 材料 15元的肉丝 一根葱 两个辣椒 生粉&#xff0c;盐&#xff0c;油 步骤 1.开煤气&#xff0c;将锅烧热&#xff0c;小火炖下肥肉得到猪油&#xff0c;将残渣捞出 2.切好的肉丝撒上生粉&#xff0c;摔摔肉&#xff0c;弄匀 3.倒入油&#xff08;满锅底&#xff…

java设计模式之一(工厂模式)

何为工厂模式&#xff1f; 工厂模式&#xff08;Factory Pattern&#xff09;是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式&#xff0c;它提供了一种创建对象的最佳方式。 在工厂模式中&#xff0c;我们在创建对象时不会对客户端暴露创建逻辑&#xff…

Java 设计模式之迭代器模式

一、了解迭代器模式 1.1 什么是迭代器模式 迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素&#xff0c;而又不暴露其内部的表示。 迭代器模式把游走的任务放在迭代器上&#xff0c;而不是聚合上。这样简化了聚合的接口和实现&#xff0c;也可以让责任各得其所。 …

【菜谱】青椒肉丝

【菜谱】青椒肉丝 食材配料步骤准备工作开始制作 成果展示 下周一上班&#xff0c;今天回家收拾东西。虽然是个程序员&#xff0c;但是也想炒一手好菜&#xff0c;就先在家里练习了&#xff0c;意外的发现还不错&#xff01; 食材 猪里脊肉 175g &#xff08;老妈就给我拿了这…

Java设计模式实现烹饪助手程序

Java设计模式实现烹饪助手程序 一&#xff0e; 程序设计目标和使用说明 1、程序设计目标 该程序在eclipse4.6.3版本中完成&#xff0c;用的是jdk1.7。     该程序的设计目的是为了学习java设计模式&#xff0c;应用其中的几个模式编写一个程序&#xff0c;在编写程序的过…