Docker入门安装gerrit软件

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.hqwc.cn/news/266263.html

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

相关文章

BluetoothDevice 序列化问题

文章目录 前言思考分析定位 前言 在做蓝牙设备通信时,遇到一个奇葩的问题,公司另一个部门开发的蓝牙组件库,把蓝牙设备BluetoothDevice进行了序列化,在连接时候又进行反序列化。但是当我去调试我的项目时,发现发序列化…

【每日一题】最小体力消耗路径

文章目录 Tag题目来源解题思路方法一:二分枚举答案 写在最后 Tag 【二分枚举答案】【图】【2023-12-11】 题目来源 1631. 最小体力消耗路径 解题思路 拿到这个题目,计算从左上角到右下角的最小体力消耗值,有点像 64. 最小路径和。在 64 题…

以太坊:前世今生与未来

一、引言 以太坊,这个在区块链领域大放异彩的名字,似乎已经成为了去中心化应用(DApps)的代名词。从初期的萌芽到如今的繁荣发展,以太坊经历了一段曲折而精彩的旅程。让我们一起回顾一下以太坊的前世今生,以…

C# 任务的异常和延续处理

写在前面 当Task在执行过程中出现异常或被取消等例外的情况时,为了让执行流程能够继续进行,可以使用延续方法实现这种链式处理;还可以针对前置任务不同的执行结果,选择执行不同的延续分支方法。子任务执行过程中的任何异常都会被…

分页设计(平时在表下面的栏框,有首页 | 上一页 | 下一页 | 尾页),下面代码带你实现

分页设计的本质就是,分页查询,就是SQL语句当中的(select * from ? limit ? , ?),这里第一个?是所分页的那张表 ,第二个?从哪条开始,第三个?是在页面上想让这张表出现几…

老师们居然这样把考试成绩发给家长

教育是一个复杂而多元的过程,其中考试成绩的发布和沟通是教育过程中的一个重要环节。然而,有些老师在发布考试成绩时,采取了一些不恰当的方式,给家长和学生带来了不必要的困扰和压力。本文将探讨老师们不应该采取的发布考试成绩的…

MSPM0L1306例程学习-ADC部分(1)

MSPM0L1306例程学习-ADC部分(1) MSPM0L1306例程学习 使用的TI的官方例程,即SDK里边包含的例程代码。 MCU使用的是MSPM0L1306, 对于ADC部分,有10个例程: 例程理解 ADC的转换有多种工作模式,从最简单的单通道单次转换开始入手…

远程控制如何赋能智能制造?贝锐向日葵制造业场景案例解析

随着数字化转型在制造业的不断深入,企业在产线端也逐渐投入更多智能化设备,数字化、智能化设备其中一个比较显著的优势就是可以依托互联网实现远程运维和调试,大大提升产线设备的稳定性和工作效率;而远程调试运维一个重要的实现方…

Spring Cache【娓娓道来】

目录​​​​​​​ 1.自我介好😳😳😳 2.常用注解 💕💕💕 3.EnableCaching🤦‍♂️🤦‍♂️🤦‍♂️ 4.CachePut🤷‍♀️🤷‍♀️&#x1f93…

.9.png编译报错

android项目中使用9-patch图编译报错:AAPT: error: file failed to compile. 原因是因为.9.png图中有线之间断开或者黑点的存在,把线连上或者把黑点去掉就可以了。如下:

云降水物理基础

云降水物理基础 云的分类 相对湿度变化方程 由相对湿度的定义,两边取对数之后可以推出 联立克劳修斯-克拉佩龙方程(L和R都为常数) 由右式看出,增加相对湿度的方式:增加水汽(de增大)和降低…

Linux系统vim,gcc,g++工具使用及环境配置,动静态库的概念及使用

Linux系统vim,gcc,g工具使用及环境配置,动静态库的概念及使用 1. Linux编辑器-vim的使用1.1 vim的基本概念1.2vim的基本操作1.3vim正常模式命令集1.4vim末端模式命令集1.5简单的vim配置 2.Linux编译器-gcc/g的使用2.1 准备阶段2.2gcc的使用2.…