Docker入门安装gerrit软件

news2024/12/28 19:28:04

Windows上运行docker

什么是Docker Desktop

docker desktop是Docker在Windows 10和macOS操作系统上的官方安装方式,这个方法依然属于先在 Windows 上部署 Docker 的方法都是先安装一个虚拟机,并在安装 Linux 系统的的虚拟机中运行 Docker。

开启Hyper-V虚拟机

Hyper-V 是微软开发的虚拟机,类似于 VMWare 或 VirtualBox,仅适用于 Windows 10。这是 Docker Desktop for Windows 所使用的虚拟机。

但是,这个虚拟机一旦启用,QEMU、VirtualBox 或 VMWare Workstation 15 及以下版本将无法使用!如果你必须在电脑上使用其他虚拟机(例如开发 Android 应用必须使用的模拟器),请不要使用 Hyper-V!

开启虚拟机

或者使用命令行开启虚拟机

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

 

什么是WSL2,与Hyper-v什么关系?【待补充】

比 WSL2 更香的是 Docker for windows_ydcdm0011的博客-CSDN博客

WSL2可以单独通过powershell 登录,详见

WSL Ubuntu忘记root密码和用户密码 - 知乎 (zhihu.com)

 

Docker Desktop下载

下载:Install Docker Desktop on Windows | Docker Docs

Docker支持64 位版本的Windows 10 Pro,且必须开启Hyper-V。开启方式为:打开控制面板”->“程序”-> “启动或关闭Windows功能,找到Hyper-V并勾选,确定重启电脑。

下载好后,点击下载后的Docker for Windows Installer.exe,当前docker desktop版本是4.11

 在命令行执行docker version,docker –version ,docker -v,可以查看docker版本,docker的客户端和服务端版本都是20.10.17

 

 

 

 

Linux上安装Docker【待补充】

Docker的C/S模式

Docker 采用了C/S 架构,包括客户端和服务端。Docker 守护进程(Daemon)作为服务端

接受来自客户端的请求,并处理这些请求(创建、运行、分发容器)。

Docker 客户端则为用户提供一系列可执行命令,用户用这些命令实现跟Docker 守护进程交互;Docker 守护进程一般在宿主主机后台运行,等待接收来自客户端的消息;

Docker也为我们提供了Remote API来操作Docker的守护进程,也意味着我们可以通过自己的程序来控制Docker的运行。客户端和服务端既可以运行在一个机器上,也可通过socket 或者RESTful API 来进行通信

使用Docker

docker pull openfrontier/gerrit

 

启动一次操作容器

docker run IMAGE_NAME [COMMAND] [ARG…]

Docker运行的容器时会首先查找本地是否存在,如果不存在会从library中拉取

//TODO

//Docker的run命令会从哪些地方获取image和容器?

Run命令对应的是image中的run按钮

下载一个最新的ubuntu18.04的docker镜像,并输出hello world

docker run ubuntu echo 'hello world'

 

运行成功后,将会在image中和containers中分别存在一条记录

 

启动交互式容器

启动交互式的容器,就是类似于ssh登录到ubuntu,可以输出linux命令。

docker run -t -i [–name=自定义名称] IMAGE_NAME /bin/bash

-i –interactive=true | false,默认是false

-t –tty=true | false,默认是false

 –name 给启动的容器自定义名称,方便后续的容器选择操作

运行ubuntu,命名为gerrit,并登录

docker run -i -t --name=gerrit  ubuntu /bin/bash

如果去掉-i –t,将不会执行/bin/bash

退出ubuntu

exit

重新启动容器

docker start [-i] 容器名

docker start -i gerrit

 

对应的是container中的start按钮

 

 

删除停止的容器

docker rm name | id 

docker rm gerrit

rm相当于container中的delete

 

查看容器

docker ps [-a] [-l]

     列出正在运行的容器

-a all    列出所有容器

-l latest  列出最近的容器

可以看到启动的容器名称是gerrit

查看指定容器

docker inspect name | id

查看gerrit容器

docker inspect gerrit

 

守护式容器【待补充】

容器中部署一个简单的网站【待补充】

镜像【待补充】

切换镜像源【待补充】

Docker 国内镜像 - 知乎 (zhihu.com)

镜像的备份和迁移【待补充】

(1条消息) docker备份容器到本地(以及恢复)_杨林伟的博客-CSDN博客_docker保存容器到本地

Docker镜像与容器备份迁移(export、import与commit、save、load)_非著名运维的博客-CSDN博客

 

镜像迁移到其他位置【待补充】

镜像默认存储在C盘,这样会导致C盘越来越大,因此可以将数据迁移到其他位置

(1条消息) Windows10更改Docker镜像目录_@Kerry~的博客-CSDN博客

 

搭建私有仓库【待补充】

(1条消息) docker私有仓库搭建,推送镜像到私有仓库_新林。的博客-CSDN博客

使用Docker安装gerrit

Docker下载gerrit镜像

Docker-gerrit 历史版本

Gerrit Code Review Releases | Gerrit Code Review

Gerrit Code Review - Releases

Branches · GerritCodeReview/docker-gerrit (github.com)

2.14版本的readme:GerritCodeReview/docker-gerrit at stable-2.14 (github.com)

拉取镜像

docker pull gerritcodereview/gerrit:2.14.18
docker pull openfrontier/gerrit:2.14.18

启动容器

docker run –d –v 本地存储路径 –p 8080:8080 –p 29418:29418 image_id或image_name[:version]

docker run --name 你的容器名字 -d -v D:\gerrit_data_2.14.18:/var/gerrit/review_site -p 8080:8080 -p 29418:29418 gerritcodereview/gerrit:2.14.18

docker run的参数说明

查看docker run的所有参数

docker run --help

参数说明

-v 容器映射  ,例如这里就是本机的D:\gerrit_data_2.14.18和容器的/var/gerrit/review_site一一对应,这样做的好处是,我可以在本地修改和上传容器里的文件

ro(待补充)

rw(待补充)

(1条消息) docker run参数-v的rw、ro详解_人地个仔的博客-CSDN博客_docker ro rw

Docker containers的参数说明

attach      Attach local standard input, output, and error streams to a running container

commit      Create a new image from a container's changes

cp          Copy files/folders between a container and the local filesystem 在文件/目录在container和当前文件系统之间复制

create      Create a new container

exec        Run a command in a running 

export      Export a container's filesystem as a tar archive

inspect     Display detailed information on one or more containers

kill        Kill one or more running containers

logs        Fetch the logs of a container

ls          List containers

pause       Pause all processes within one or more containers

port        List port mappings or a specific mapping for the container

prune       Remove all stopped containers

rename      Rename a container  重命名容器名称

restart     Restart one or more containers

rm          Remove one or more containers

run         Run a command in a new container

start       Start one or more stopped containers

stats       Display a live stream of container(s) resource usage statistics

stop        Stop one or more running containers

top         Display the running processes of a container

unpause     Unpause all processes within one or more containers

update      Update configuration of one or more containers

wait        Block until one or more containers stop, then print their exit codes

修改容器映射目录(待补充)

Docker(34)- 如何修改 docker 容器的目录映射 - 腾讯云开发者社区-腾讯云 (tencent.com)

查看容器本地和容器目录映射位置

docker inspect -f "{{.Mounts}}" container_name

或者点击容器,点击inspect

修改默认ip地址

vi /var/gerrit/etc/gerrit.config

修改gerrit下的canonicalWebUrl为localhost

 

Linux版本

uname -a

 

安装软件

当前环境中安装的Linux Alpine版本,关于Apline的版本包管理请看:Alpine Linux Apk 命令示例 - OSTechNix

apk add vim

dockerfile - apt-get 在 Docker 中找不到 - Stack Overflow

当前安装的如果是centos版本,使用yum

 

gerrit插件的安装位置

/var/gerrit/plugins

参考文献:

Docker——入门实战_等一杯咖啡的博客-CSDN博客_docker的使用实例

代码托管-gerrit-介绍与环境搭建_南京小T的博客-CSDN博客

Gerrit - 初始配置 - Anliven - 博客园 (cnblogs.com)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

moogose使用

概念 Node.js 的优雅 mongodb 对象建模 Mongoose 提供了一种直接的、基于模式的解决方案来对应用程序数据进行建模。它包括开箱即用的内置类型转换、验证、查询构建、业务逻辑挂钩等 安装 npm i mongoose具体例子 E:\Nextjs\mongoose-use-demo\app\api[crud]\route.ts 连接…

数据结构:栈(Stack)的各种操作(入栈,出栈,判断栈非空,判断栈已满,附源码)

前言:在前面的文章中,我们讲解了顺序表,单链表,双向链表。而我们今天要分享的栈则是基于之前的数据结构上搭建的,但是相较于顺序表和链表来说,栈的实现就非常简单了。 目录 一.栈(Stack)的概念 二.栈的数…

TOWE 高品质220V/380V工业插头插座:插座篇

在不同工业场合和环境中,对工业用插头插座和耦合器的配置有着不同的要求。在实际应用中,我们要根据用途、工作环境、规格大小、外观造型、安装形式、功能等方面进行选择。只有确保正确选择产品,才能确保现实用电环境的安全、高效。 同为科技&…

什么是 web 组态?web 组态与传统组态的区别是什么?

组态软件是一种用于控制和监控各种设备的软件,也是指在自动控制系统监控层一级的软件平台和开发环境。这类软件实际上也是一种通过灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。通常用于工业控制,自动…

数据库——字段拆分与合并

一、GP或PostgreSQL 1.字段拆分成行 unnest(string_to_array(test, ,)) 例如某一字段值为"a,b,c,d",使用string_to_array将其拆分为数组,然后使用unnest将数组平铺成一张表 SELECT unnest(string_to_array(555,666,777, ,)) 2.字段拆分成列…

一文告诉您企业为什么这么关注数字资产指纹

数字资产指纹 在互联网数字资产管理中,数字资产指纹就是数字资产的“身份证”,也是信息系统安全管理工作的基础。通过网络资产探测(指纹)可以在0day(通常是指还没有补丁的漏洞) 爆发时快速匹配到受影响的信…

B029-JDBC增强

目录 PreparedStatement 查询1.sql注入2.Statement分析 (面试题)3.PreparedStatement (面试题) 登录功能的完善事务链接池概念实现DBCP连接池实现第一种配置方式第二种配置方式 返回主键BaseDao的抽取 PreparedStatement 查询 1.sql注入 就是在sql的字符串拼接的时候&#xf…

ChibiOS简介3/5

ChibiOS简介3/5 1. 源由2. ChibiOS基础知识3/52.7 Chapter 7 - RT Time and Intervals2.7.1 Basic concepts2.7.2 APIs 2.8 Chapter 8 - RT Virtual Timers2.8.1 Basic concepts2.8.2 Tickless Mode2.8.3 APIs 2.9 Chapter 9 - RT Scheduler2.9.1 Basic concepts2.9.2 System C…

两线制无源 4-20mA 回路供电隔离变送器

两线制无源 4-20mA 回路供电隔离变送器 一入一出两线制无源 4-20mA 回路供电隔离变送器 概述:JSD TAW-1001D-100L-F 系列隔离变送器是 4-20mA 两线制回路供电的电流隔离变送配电器,该隔离变送器采用电磁隔离技术,并通过输入端馈电方式,给输入端两线制仪器仪表设备供…

数据库 02-03补充 聚合函数--一般聚合分组和having

聚合函数: 01.一般的聚合函数: 举个例子: 一般聚合函数是用于单个元祖,就是返回一个数值。 02.分组聚合:可以返回多个元祖 举个例子: 分组的注意: 主要的是根据分组的话,一个…

【git push ERROR: commit id: missing Change-Id in message footer】

使用 gerrit 后,提交代码会出现如下截图问题: 临时解决: step1: 把上面红色的那条gitidir复制下来执行下: step2:执行下面的命令会添加change_id git commit --amendstep3: 然后推送代码到服务器上 git push origin HEAD:refs/fo…

万界星空科技电子装配行业MES解决方案

电子电器装配属于劳动密集型、科技含量较高的行业,产品零部件种类繁多,生产组装困难,生产过程存在盲点,同时也决定了生产流水线多且对自动化水平要求较高。 万界星空科技提供的电子行业MES解决方案,提供从仓储管理、生…

排序算法:【选择排序]

一、选择排序——时间复杂度 定义:第一趟排序,从整个序列中找到最小的数,把它放到序列的第一个位置上,第二趟排序,再从无序区找到最小的数,把它放到序列的第二个位置上,以此类推。 也就是说&am…

STM32 CAN多节点组网项目实操 挖坑与填坑记录

摘要 CAN线性组网项目开发过程中遇到的数据丢包问题,并尝试解决的记录和推测分析。 关键词 CAN串联多节点通讯、CAN10节点通讯、CAN数据丢包、STM32 CAN 背景/项目介绍 概述: 开发了一个多节点线性组网采集数据的项目。 系统包含1个供电和数据网关板还有…

如何利用Guava优化Java网络编程

第1章:引言 大家好!今天小黑要和咱们聊聊一个很酷的话题:如何利用Google的Guava库来优化Java网络编程。网络编程,这玩意儿听起来就高大上,不是吗?但实际上,它充满了各种挑战。从处理复杂的数据…

【二分查找】【滑动窗口】LeeCode2528:最大化城市的最小电量

作者推荐 【动态规划】【广度优先】LeetCode2258:逃离火灾 本文涉及的基础知识点 二分查找算法合集 滑动窗口 题目 给你一个下标从 0 开始长度为 n 的整数数组 stations ,其中 stations[i] 表示第 i 座城市的供电站数目。 每个供电站可以在一定 范围 内给所有城…

OpenHarmony创新赛人气投票活动,最佳人气作品由你来定!

12月1日至12月15日 十大入围作品线上投票激战正酣 最佳人气作品,由你来定! 投票链接:OpenHarmony创新赛人气作品投票正式开启——最佳人气作品,由你来定! - 文章 OpenHarmony开发者论坛

uniCloud(一) 新建项目、初始化服务空间、云对象访问测试

一、新建一个带有unicloud 二、创建一个服务空间 1. 右键uniCloud,关联云服务空间 我当前没有服务空间,需要新建一个服务空间,之后将其关联。初始化服务空间需要的时间有点长 服务空间初始化成功后,刷新HBuilder,勾选…

vue3使用Mars3D写区块地图

效果图 引入相关文件 因为我也是第一次使用&#xff0c;所以我是把插件和源文件都引入了&#xff0c;能使用启动 源文件 下载地址&#xff1a; http://mars3d.cn/download.html 放入位置 在index.html中引入 <!--引入cesium基础lib--><link href"/static/C…

互联网加竞赛 opencv 图像识别 指纹识别 - python

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于机器视觉的指纹识别系统 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;3分创新点&#xff1a;4分 该项目较为新颖&#xff0c;适…