Docker知识点总结

二、Docker基本命令:

Docker支持CentOs 6 及以后的版本;
CentOs7系统可以直接通过yum进行安装,安装前可以

1、查看一下系统是否已经安装了Docker:

                yum list installed | grep docker

2、安装docker:

                yum install docker -y

        -y 表示自动确认,中途就不需要确认了,安装成功如下:

3、卸载docker:

        把这三个都卸载掉:

 4、查看docker版本:

                docker --version / docker -v

5、安装之后启动Docker服务:

                systemctl start docker 或者 service docker start

6、停止:

                systemctl stop docker 或者 service docker stop

7、重启:

                systemctl restart docker 或者 service docker restart

8、检查docker进程的运行状态:

                systemctl status docker 或者 service docker status

9、查看docker进程:

                ps -ef | grep docker

10、查看docker系统信息:

                docker info

11、查看所有的帮助信息:

                docker


12、查看某个commond命令的帮助信息:

                docker commond  --help

13、设置开机启动docker:

                systemctl enable docker

三、Docker的使用初体验

3.1、Docker的运行机制:

我们知道Docker并不是容器,而只是一个管理容器的引擎;

Docker的底层运行原理:
Docker服务启动→下载镜像→启动该镜像得到一个容器→容器里运行着我们想要的程序;

        我们在linux命令行操作时实质上相当于是docker引擎的客户端client,我们通过客户端发送一些指令,发送给docker daemon(docker里面核心的底部引擎),发送给它之后,docker容器引擎开始解析,首先它会去本地里找有没有这个镜像,如果有的话就直接启动起来这个镜像,得到对应的容器,程序就运行在容器里面;本地仓库没有这个镜像的话就去Registry仓库里找,去下载镜像,Registry是一个仓库,找到之后它就会下载。

3.2、 配置Docker镜像加速器

        默认情况下,将从docker hub(https://hub.docker.com/)上下载docker镜像,现在已经访问不了,所以配置一下镜像加速器:

         中科大镜像加速器(https://docker.mirrors.ustc.edu.cn)

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["镜像加速地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker# 示例
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]	
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
3.3、 Docker 镜像相关命令
1、搜索镜像:

         从网络中查找需要的镜像:docker search 镜像名称
         例如: docker search tomcat  搜索tomcat镜像

2、下载镜像:

        从Docker 仓库下载镜像到本地,镜像名称格式为 名称号:版本号,如果版本号不指定则是最新的版本。如果不知道镜像版本,可以去docker hub 搜索对应镜像查看。如果你反复执行pull,它会把这个镜像下载到最新版本。

                 docker pull 镜像名称

                 例如:docker pull  tomcat 


3、运行镜像:

                docker run tomcat     前台运行,前台运行的话 ctrl+c就可以关掉了

                docker run tomcat -d 后台运行,加参数-d

                docker run  镜像的ID号 -d

                docker run  名称号:版本号     -d

        docker run tomcat 报这个错:
        Cannot find /usr/local/tomcat/bin/setclasspath.sh 

解决方案:先下载docker pull tomcat:9.0.56,然后docker run -d tomcat:9.0.56

          镜像启动后你就得到了一个容器,通过ps-ef | grep tomcat查看,检查tomcat镜像是否启动容器成功:

4、显示本地已有的镜像:

                docker images
                docker images -q #查看所有镜像的id

         在列出信息中,可以看到几个字段信息:

  •         REPOSITORY:来自于哪个仓库,比如docker.io/tomcat
  •         TAG:镜像的标记,比如latest
  •         lMAGE ID:镜像的ID号(每一个镜像都有一个唯一的ID)
  •         CREATED:创建时间,表示你这个镜像官方是在什么时候创建的
5、删除镜像:删除本地镜像

              docker rmi 镜像id/名称号:版本号             #删除指定本地镜像
              docker rmi 'docker images -q'                 #删除所有本地镜像

              注意是rmi,不是rm,rm是删除容器

6、查看当前运行的容器:

                 docker ps

  • CONTAINER ID:   容器的ID     
  • IMAGE :  容器是通过什么镜像运行的(是通过Tomcat镜像运行的)           
  • COMMAND: 运行的命令是catalina.sh run         
  • CREATED:  容器是什么时候启动的         
  • STATUS: 运行状态(运行了三小时)             
  • PORTS :  端口是8080(也就是容器里面的Tomcat端口是8080)            
  • NAMES:容器的名称,这个名字是docker引擎自动生成的
7、如何关闭/停止容器:

                docker stop 容器ID/容器的名称

        注意:启动镜像用的是镜像名字或者镜像ID!!!镜像启动后你就得到了一个容器,但是关闭容器实用的容器名字或容器ID 

8、这两个命令都可以查看容器是否在运行:

                ps -ef | grep tomcat    docker ps

 9、查看所有的容器:

                docker ps -a

                docker ps只是查看运行着的容器

10、启动容器的两种方式:

        启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态的容器重新启动。

               通过镜像启动容器: docker run -d redis

                docker run  镜像的ID号 -d

                docker run  名称号:版本号     -d

                端口映射:docker run -d -p 8080:8080 tomcat:9.0.56


                已经停止的容器,我们可以使用命令docker start来启动。

                开启容器:

                                docker start 容器id或容器名称
                因为Docker的容器实在太轻量级了,很多时候用户都是随时删除和新建容器
 

 11、删除容器:

                docker rm  容器id或容器名称
                删除容器时,容器必须是停止状态,否则会报错;

                删除所有容器 :docker rm $(docker ps -aq)

12、进入容器内部:

                docker exec  -it  容器id或容器名称  bash

13、查看容器的更多信息:

                docker inspect +容器id或容器名称

14、查看运行着的容器id:

                docker ps -q 

15、查看所有容器id (包括未运行的容器的id):

                 docker ps -aq 

16、停用全部运行中的容器:

                docker stop $(docker ps -q)

                docker ps -q 查看运行着的容器id     docker images -q #查看所有镜像的id

                docker ps --help 查看参数说明

 17、删除所有容器:

                docker rm $(docker ps -aq)

18、一条命令实现停用并删除容器:

                docker stop $(docker ps -q)& docker rm -f $(docker ps -aq)

                -f 表示强制移出,一定要加上

3.4、Docker的网络访问机制:

        tomcat镜像启动后你就得到了一个容器,通过ps-ef | grep tomcat查看进程,tomcat镜像启动容器成功:

        但是这个Tomcat不是直接运行在Linux上,而是运行在docker容器中,当然本身也在Linux上,Linux上有一个容器,容器里有一个Tomcat。

        理论上我们应该可以去访问这个Tomcat,我们如果是在虚拟机Linux里面运行着一个Tomcat,那我们可以在浏览器输入IP+端口可以去访问,tomcat的默认端口是8080,但是我们现在访问失败:

        如何去访问Docker中的tomcat呢,这就涉及到了Docker的网络机制 :

  • 容器内的网络服务和外部机器不能直接通信
  • 外部机器和宿主机可以直接通信
  • 宿主机和容器可以直接通信
  • 当容器中的网络服务需要被外部机器访问时,可以将容器中提供服务的端口映射到宿主机的端口上。外部机器访问宿主机的端口,从而间接访问容器的服务
  • 这种操作称为:端口映射

        从客户机上访问容器,需要有端口映射,docker容器默认采用桥接模式与宿主机通信,需要将宿主机的ip端口映射到容器的ip端口上;

        现在我们的浏览器中输入ip+端口 要去访问,我们不能直接访问docker里面的Tomcat,用户在访问的时候首先肯定是访问的Linux,这个Linux然后要转发到Tomcat里面去,我们需要Tomcat和当前Linux做一个端口映射,然后就可以转发进去了。

         docker容器里面的Tomcat的网络通讯与Linux本身采用一种网络桥接模式来通讯的,桥接模式通讯,我们就需要基于一个端口映射才可以让我们访问到docker容器里面的Tomcat。

具体操作如下:

1、我们先关闭tomcat容器: docker stop 215e46e97685

2、关闭容器后,重新启动容器:docker run -d -p 8080:8080 tomcat:9.0.56

         加上参数-p,意思是把你当前Linux上的某一个端口映射到容器里面的某一个端口,这样就可以实现端口映射:我们浏览器访问Linux里面的8080,然后Linux里的8080转发到容器里的8080,这样我们就可以实现访问了

3、我们再来查看一下运行着的容器 : docker ps 

         tomcat进程正在运行: ps -ef | grep tomcat

       总结:docker ps     ps -ef | grep tomcat  这两种方式都可以查看tomcat是否在运行。

4、我们现在再来访问试试:

 3.5、进入docker容器内部:

        前面我们已经把Tomcat镜像启动了,接下来我们进入Docker容器,看一下容器里面有一些什么东西:

        进入容器:  打开一个标准的输入流分配到一个虚拟的控制台,然后在这个控制台上执行bash就可以进入docker容器的命令行。简单点其实就是进入docker容器的命令行

                   docker exec -it 容器id  bash

  •          其中i表示交互式的、保持标准输入流打开;
  •          t表示虚拟控制台,分配到一个虚拟控制台;
  •          bash:linux的shell命令

          docker exec -it 8fca7219b9a8 bash:

        退出容器:exit

                                                 

 以redis为例:

四、 Docker 架构

4.1、Docker包括三个核心要素

        镜像(lmage)、容器(Container)、仓库(Repository)理解了这三个概念,就理解了Docker的整个生命周期。
        Docker的运行离不开以上核心几个组件的支持,Docker的成功也是拜这几个组件所赐。
有人会误以为,Docker就是容器,但 Docker不是容器,而是管理容器的引擎。

Docker使用客户端-服务器(C/S)架构模式,使用远程API来管理和创建Docker容器。

介绍:

  • 1、Docker的客户端client,我们在命令行发送一些信息(命令)给Docker服务端。
  • 2、中间这个就是Docker的服务端,在这个服务端里面,它是一个引擎,用来管理容器的,所以用引擎我们可以基于镜像来创建容器。 
  • 3、右边就是仓库,中心仓库就是Docker hub仓库,存放了成千上万的镜像。
  • 4、Docker容器通过Docker镜像来创建。
  • 有人会误以为,Docker就是容器,但Docker不是容器,而是管理容器的引擎。
4.2、镜像的基本概念

         Docker镜像就是一个只读的模板,可以用来创建Docker容器。
        例如:一个镜像可以包含一个完整的centos操作系统环境,里面仅安装了mysql或用户需要的其它应用程序。
        Docker 提供了一个非常简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。

        下载镜像,比如下载redis镜像:docker pull redis:latest
         reids是查询到的镜像名称, latest是镜像的标签tag
        获取一个镜像有两种方式,一种是从官方镜像仓库下载,一种是自己通过Dockerfile文件构建。如果有官方镜像,我们就不必自己用Dockerfile文件构建了,除非官方没有才会自己去 Dockerfile文件构建;
 

4.3、容器的基本概念 

    容器是从镜像创建的运行实例。它可以被启动、停止、删除。每个容器都是相互隔离的、保证安全平台。可以把看做一个简易版的 Linux环境,包括root用户权限、进程空间、用户空间和网络空间和运行在其中的应用程序。
    Docker利用容器来运行应用,镜像是只读的,容器在启动的时候创建一层可写层作为最上层。

4.4、仓库的概念:

        仓库是集中存放镜像文件的场所,有时候会把仓库和仓库注册服务器(Registry)看做同一事物,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag) ,tag你可以粗略理解为版本;
        仓库分为公开仓库(Public)和私有仓库(Private)两种形式;最大的公开仓库是 Docker Hub(https://hub.docker.com/) ,存放了数量庞大的镜像供用户下载; 当然,用户也可以在本地网络内创建一个私有仓库;

        当用户创建了自己的镜像之后就可以使用push命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull下来即可;
        注:Docker仓库的概念跟Git类似,注册服务器也类似于GitHub这样的托管服务;

        用户可通过docker search命令来查找官方仓库中的镜像: 例如 docker search tomcat,并利用docker pull命令来将它下载到本地:

        可以看到返回了很多包含关键字的镜像,其中包括镜像名字、描述、星级(表示该镜像的受欢迎程度)、是否官方创建、是否自动创建;官方的镜像说明是官方项目组创建和维护的,automated资源允许用户验证镜像的来源和内容;
        根据是否是官方提供,可将镜像资源分为两类:
        一种是类似centos这样的基础镜像,被称为基础或根镜像。这些基础镜像是由Docker公司创建、验证、支持、提供。这样的镜像往往使用单个单词作为名字;
        还有一种类型,比如tianon/centos镜像,它是由Docker的用户创建并维护的,往往带有用户名称前缀。可以通过前缀user_name/来指定使用某个用户提供的镜像,比如tianon用户;

        从Docker 仓库下载镜像到本地,镜像名称格式为 名称号:版本号,如果版本号不指定则是最新的版本。如果不知道镜像版本,可以去docker hub 搜索对应镜像查看。如果你反复执行pull,它会把这个镜像下载到最新版本。

                 docker pull 镜像名称         例如:docker pull  tomcat 

五、Docker使用示例

5.1、Docker安装MySQL

        docker pull mysql (你也可以加上版本号,指定版本)

        接下来我们运行mysql镜像并且访问容器:

   docker run -d -p 3306:3306 mysql -e MYSQL_DATABASE = workdb -e MYSQL_ROOT_PASSWORD = 123456

到时候容器启动之后,你去访问mysql的时候,会有一个数据库的名字叫做workdb,密码123456

         

 

         虽然你在运行的时候已经指定端口映射了,但是你用navicat连接mysql的时候却打不开,这是mysql本身的机制,需要授予远程登录访问。我们来创建一个用户用来远程访问,授予它所有的权限:

        “%”代表任何IP下都可以通过wkcto这个账户来访问mysql

        授权: 把所有的访问权授予这个账户

 

 连接上去了:

 这个exit退出的只是mysql的命令行,回到了容器的命令行,再输入ecit才回到了linux命令行:

 

5.2、Docker安装nginx

下载Nginx镜像:

docker pull nginx

docker run -d -p 80:80   nginx 

docker exec -it  容器id bash  (用docker ps 查看容器id)

                        

访问nginx: http://123.57.144.31:80

六、认识Dockerfile文件

 
        Dockerfile 用于构建Docker镜像,Dockerfile文件是由一行行命令语句组成,基于这些命令即可以构建一个镜像,比如下面就是一个Dockefile文件样例:

6.1、Dockerfile文件组成

一般的,Dockerfile分为四部分:
 

  • 基础镜像信息 : 你构建某个镜像,是基于某个基础镜像构建的,所以你要知道基础镜像信息
  • 维护者信息:可有可无
  • 镜像操作指令:镜像要做些什么操作
  • 容器启动时执行指令:启动容器时要执行的指令
6.2、Dockerfile常用指令

通常Dockerfile是由以下指令构成的:

  • FROM

        格式为FROM<image> 或 FROM<image>:<tag> ---------  指定基础镜像
        Dockerfile文件的第一条指令必须为FROM指令。并且,如果在同一个Dockerfile 中创建多个镜像时,可以使用多个FROM指令(每个镜像一次);

  • MAINTAINER

        格式为MAINTAINER<name>,指定维护者信息;

  • ENV

        格式为ENV <key> <value>,指定一个环境变量,会被后续RUN指令使用,并在容器运行时保持;

  • ADD

        格式为ADD <src> <dest>;

        复制指定的 <src> 到容器中的<dest>;

  • EXPOSE

        格式为EXPOSE <port>  [<port>...]

        告诉Docker 服务端容器暴露的端口号,供互联系统使用,在启动容器时需要通过-p映射端口,Docker主机会自动分配一个端口转发到指定的端口;

  • RUN

        格式为RUN <command命令> --------- 运行指定的命令
        RUN指令将在当前镜像基础上执行指定命令,并提交为新的镜像,当命令较长时可以使用\来换行;

  • CMD

        指定启动容器时执行的命令,每个Dockerfile只能有一条CMD命令。如果指定了多条命令,只有最后一条会被执行。 ---------  容器启动时要运行的命令
        如果用户启动容器时候指定了运行的命令,则会覆盖掉CMD指定的命令。

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

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

相关文章

flutter旋转动画,算法题+JVM+自定义View

在很多的博客或者书上&#xff0c;说有三种&#xff0c;除了上述的两种以外&#xff0c;还有一种是实现Callable接口。但是这种并不是&#xff0c;因为&#xff0c;我们检查JDK中Thread的源码&#xff0c;看它的注释&#xff1a; There are two ways to create a new thread o…

Linux操作系统的vim常用命令和vim 键盘图

在vi编辑器的命令模式下&#xff0c;命令的组成格式是&#xff1a;nnc。其中&#xff0c;字符c是命令&#xff0c;nn是整数值&#xff0c;它表示该命令将重复执行nn次&#xff0c;如果不给出重复次数的nn值&#xff0c;则命令将只执行一次。例如&#xff0c;在命令模式下按j键表…

Fuyu-8B A Multimodal Architecture for AI Agents

Fuyu-8B: A Multimodal Architecture for AI Agents Blog: https://www.adept.ai/blog/fuyu-8b TL; DR&#xff1a;无视觉编码器和 adapter&#xff0c;纯解码器结构的多模态大模型。 Adept 是一家做 Copilot 创业的公司&#xff0c;要想高效地帮助用户&#xff0c;必须要准确…

【Linux网络】再谈 “协议“

目录 再谈 "协议" 结构化数据的传输 序列化和反序列化 网络版计算器 封装套接字操作 服务端代码 服务进程执行例程 启动网络版服务端 协议定制 客户端代码 代码测试 使用JSON进行序列化与反序列化 我们程序员写的一个个解决我们实际问题&#xff0c;满…

新品发布会媒体邀请,邀约记者现场报道

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 新品发布会媒体邀请及记者现场报道邀约流程&#xff1a; 一、策划准备 明确新品发布会时间、地点和主题。 制定媒体邀请计划&#xff0c;确定目标媒体。 二、邀请媒体 向目标媒体发送…

CSS的三种定位,响应式web开发项目教程

标准文档流 文档流&#xff1a;指的是元素排版布局过程中 戳这里领取完整开源项目&#xff1a;【一线大厂前端面试题解析核心总结学习笔记Web真实项目实战最新讲解视频】 &#xff0c;元素会默认自动从左往右&#xff0c;从上往下的流式排列方式。并最终窗体自上而下分成一行行…

12、电源管理入门之clock驱动

目录 1. clock驱动构架 1.2 clock consumer介绍 2. Clock Provider 2.1 数据结构表示 2.2 clock provider注册初始化 2.3 DTS配置 2.4 clock驱动实现举例: 3. clock consumer 3.1 获取clock 3.2 操作clock 3.3 实例操作 4. SoC硬件中的使用 参考: 电源管理的两个…

《 前端 vs. 后端:挑战与机遇的对决》

前言 前端开发和后端开发是构建网站、应用程序和其他软件的两个主要方面。它们各自负责不同的任务和功能。 前端开发: 定义:前端开发是指构建用户直接与之交互的网站或应用程序的过程。前端开发主要关注于用户界面和用户体验。技术栈:前端开发通常涉及使用 HTML、CSS 和 Ja…

组基轨迹建模 GBTM的介绍与实现(Stata 或 R)

基本介绍 组基轨迹建模&#xff08;Group-Based Trajectory Modeling&#xff0c;GBTM&#xff09;&#xff08;旧名称&#xff1a;Semiparametric mixture model&#xff09; 历史&#xff1a;由DANIELS.NAGIN提出&#xff0c;发表文献《Analyzing Developmental Trajectori…

7.1.3 Selenium的用法2

目录 1. 切换 Frame 2. 前进后退 3. 对 Cookies 操作 4. 选项卡管理(了解) 5. 异常处理 6. 反屏蔽 7. 无头模式 1. 切换 Frame 我们知道网页中有一种节点叫作 iframe&#xff0c;也就是子 Frame&#xff0c;相当于页面的子页面&#xff0c;它的结构和外部网页的结构完全…

android高级面试题及答案,已拿offer

一、java相关 java基础 1、java 中和 equals 和 hashCode 的区别 2、int、char、long 各占多少字节数 3、int 与 integer 的区别 4、谈谈对 java 多态的理解 5、String、StringBuffer、StringBuilder 区别 6、什么是内部类&#xff1f;内部类的作用 7、抽象类和接口区别 java高…

SkyWalking链路追踪上下文TraceContext的traceId生成的实现原理剖析

结论先行 【结论】 SkyWalking通过字节码增强技术实现&#xff0c;结合依赖注入和控制反转思想&#xff0c;以SkyWalking方式将追踪身份traceId编织到链路追踪上下文TraceContext中。 是不是很有趣&#xff0c;很有意思&#xff01;&#xff01;&#xff01; 【收获】 skywal…

【Mining Data】收集数据(使用 Python 挖掘 Twitter 数据)

@[TOC](【Mining Data】收集数据(使用 Python 挖掘 Twitter 数据)) 具体步骤 第一步是注册您的应用程序。特别是,您需要将浏览器指向 http://apps.twitter.com,登录 Twitter(如果您尚未登录)并注册新应用程序。您现在可以为您的应用程序选择名称和描述(例如“Mining Demo”…

未来已来!AI大模型引领科技革命

未来已来&#xff01;AI大模型正以惊人的速度引领着科技革命。随着科技的发展&#xff0c;人工智能在各个领域展现出了非凡的能力和潜力&#xff0c;大模型更是成为了科技领域的明星。从自然语言处理到图像识别&#xff0c;从智能推荐到语音识别&#xff0c;大模型的应用正在改…

基于ZYNQ PS-SPI的Flash驱动开发

本文使用PS-SPI实现Flash读写&#xff0c;PS-SPI的基础资料参考Xilinx UG1085的文档说明&#xff0c;其基础使用方法是&#xff0c;配置SPI模式&#xff0c;控制TXFIFO/RXFIFO&#xff0c;ZYNQ的IP自动完成发送TXFIFO数据&#xff0c;接收数据到RXFIFO&#xff0c;FIFO深度为12…

word转PDF的方法 简介快速

在现代办公环境中&#xff0c;文档格式转换已成为一项常见且重要的任务。其中&#xff0c;将Word文档转换为PDF格式的需求尤为突出&#xff0c;将Word文档转换为PDF格式具有多方面的优势和应用场景。无论是为了提高文档的可读性和稳定性、保障文档的安全性和保护机制、还是为了…

IDEA运行大项目启动卡顿问题

我打开了很多项目&#xff0c;然后又启动了一个大型项目时&#xff0c;启动到一半&#xff0c;弹出一个窗口&#xff0c;告诉我idea内存不够&#xff0c;怎么解决这个问题&#xff1f; 1、先把多余的项目关掉&#xff0c;再启动这个大项目&#xff0c; 2、如果还是不行就去修改…

一文帮助快速入门Django

文章目录 创建django项目应用app配置pycharm虚拟环境打包依赖 路由传统路由include路由分发namenamespace 视图中间件orm关系对象映射操作表数据库配置model常见字段及参数orm基本操作 cookie和sessiondemo 创建django项目 指定版本安装django&#xff1a;pip install django3.…

Unity使用UnityWebRequest读取音频长度不对的解决方法

在开发的过程中碰到这样一个问题&#xff0c;有的音频文件通过UnityWebRequest读取出来后&#xff0c;AudioClip的Length会不对&#xff0c;比如本身有7秒&#xff0c;读出来只有3秒。代码如下&#xff1a; IEnumerator TestEnumerator() {UnityWebRequest www UnityWebReque…

gitlab的安装

1、下载rpm 安装包 (1)直接命令下载 wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.6.10-ce.0.el7.x86_64.rpm&#xff08;2&#xff09;直接去服务器上下载包 Index of /gitlab-ce/yum/el7/ | 清华大学开源软件镜像站 | Tsinghua Open Source…