Docker入门安装、镜像与容器下载 —— 基本操作

news2024/12/25 8:58:37

目录

前言

Docker

1. docker介绍

2. docker安装

3. docker基本使用

3.1 镜像下载

3.2 操作容器


前言

        虚拟机:基于主机(物理机或虚机)的多服务实例。在该模式下,软件开发人员可以提供单个或多个物理机或虚机,同时在每个主机上运行多个服务实例。 此模式有几种不同的实现形式,其中包括:将每一个服务实例都作为一个单独的进程,或是在同一进程 中运行多个服务实例。

        Docker:基于容器的服务实例。在这种部署模式下,每个服务实例都运行在其各自的容器中,因此也被称为操作系统级别的虚拟化机制。

        使用这一模式时,用户将服务打包为容器镜像。每个容器镜像就是一个文件系统镜像,由应用和运行服 务所需的库构成。有的容器镜像还包括完整的 Linux 根文件系统,有的则更轻量。 以部署 Java 服务为例,构建的容器镜像包括 Java 运行时、Apache Tomcat 服务器、以及编译好的 Java 应用。

        一旦将服务打包为容器镜像,就启动一到多个容器。通常每个物理机或虚拟主机上会运行多个容器,会用到 Kubernetes 或 Marathon 这样的集群管理工具来管理容器。 集群管理工具把主机看做资源池,根据每个容器需要的资源和每个主机上可用的资源来调度容器。 容器的优点与虚拟机类似,服务实例之间完全隔离,也能轻松监控每个容器的资源消耗 。

Docker

1. docker介绍

        Docker是一种开源的容器化平台,它可以让开发者将应用程序及其所有依赖项打包到一个轻量级、可移植的容器中,并在任何地方运行这些容器,无论是在开发、测试还是生产环境中。Docker使用了Linux容器技术来实现这个功能,通过隔离进程、文件系统和网络空间等资源,使得容器内的应用程序可以独立于宿主操作系统而运行。       

Docker三要素 :

  1. Docker仓库:集中存放镜像文件的场所。 仓库分为公开仓库(Public)和私有仓库(Private)两种形式。 最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。           
  2. Docker镜像:一个只读的模板,其中包含了应用程序及其所有依赖项、运行时环境、库和配置文件等。( Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载 一 个已经做好的镜像来直接使用 )
  3. Docker容器:指从Docker镜像创建的运行实例,它可以被启动、停止、重启、删除等。
     

虚拟机与容器的区别: 

  • VM(VMware) 在宿主机器、宿主机器操作系统的基础上创建虚拟层、虚拟化的操作系统、虚拟化的仓 库,然后再安装应用;
  • Container(Docker容器) 在宿主机器、宿主机器操作系统上创建Docker引擎,在引擎的基础上再安装 应用。

2. docker安装

Docker的安装是在虚拟机上操作的,需要的请看👉 http://t.csdnimg.cn/5AVjw

旧版本的docker叫做docker或者docker-engine,如果有安装,先卸载其以及其依赖,新版本的 docker叫做docker-ce

  • docker-ce(社区版,免费)
  • docker-ee(专业版,收费)

1、安装必要的系统工具:

 yum install -y yum-utils device-mapper-persistent-data lvm2

2、配置阿里云Docker Yum源:

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新yum缓存: yum makecache fast

3、安装docker-CE

yum -y install docker-ce

1)默认安装的是最新版本的稳定版

2)查看版本列表请使用如下命令:

yum list docker-ce --showduplicates | sort -r

3)如果要安装特定版本的 docker-CE 请使用如下命令格式:

yum install docker-ce-

3. docker基本使用

  • 查看服务状态
systemctl status docker

  • 启停服务
systemctl start docker

systemctl stop docker

systemctl restart docker

  • 开机自启
systemctl enable docker

systemctl disable docker
  • 查看宿主机上的镜像

docker images

3.1 镜像下载

不用科学我们下载镜像是非常慢的,所以要配置一个加速器:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

安装好之后再进行查看: 

接着下载所需的镜像:

docker pull 镜像名

获取一个 centos 系统的基础镜像可以使用如下的命令:

docker pull centos (未指定版本一般会使用latest(最新的)版本)

docker pull centos:版本号 (或者直接指定版本)

下载Nginx镜像:

再次查看镜像就有东西了:

镜像基本操作:

  • docker rmi 镜像ID/标签
docker rmi centos
docker rmi -f centos:latest

如果提示镜像被使用,需要先停止某个ID的容器,那么要先删除容器再删除镜像。或者强制删除镜像。
正确做法:先删除依赖该镜像的所有容器, 再来删除镜像

  • 重新加载daemon
systemctl daemon-reload

  • 重启docker
systemctl restart docker

  • 搜索镜像
docker search 镜像名称

3.2 操作容器

  • 容器是Docker的另一个核心概念。简单来说,容器是镜像的一个运行实例。
  • 镜像是静态的只读文件,而容器带有运行时需要的可写文件层,同时,容器中的应用进程处于运行状态
  • 创建容器
docker create -it centos:latest
docker create -it --name centos01 centos:latest

centos:latest 即镜像名字:版本(或镜像ID),将使用指定镜像创建容器。

另外,Docker会检查本地是否存在指定的镜像,不存在就从公有仓库下载
 
-it:是两个参数,-i:interactive容器具有交互功能,-t:容器将提供伪终端
--name:指定生成的容器的名字,允许空,如果不指定会自动生成

  • 查看当前的容器
docker ps
docker ps -a

  • 删除容器
docker rm 容器ID
docker rm -f 容器ID
docker rm -f $(docker ps -aq)
  • 进入容器
docker exec -it 容器ID/容器NAME /bin/bash
docker exec -it 容器ID/容器NAME bash (简写)
docker exec -it 容器ID/容器NAME sh (简写)
  • 启动、停止、重启容器
docker start 容器ID|name|name:tag
docker stop 容器ID|name|name:tag
docker restart 容器ID|name|name:tag
  • 退出容器

退出时如果想继续运行容器:按顺序按【ctrl+p + q】
如果不想继续运行:按【ctrl+d】或输入exit

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

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

相关文章

开发需求总结10-修改el-form-item的label,实现换行并且修改换行字体的样式

需求描述: 目录 需求描述: 相关代码: 额外拓展: 在form表单上,有个别label可能需要在下方有红色小字用来提示,这条数据的注意点,此时就需要实现label可以换行,并且给下面的小字设置…

【学习笔记】2、逻辑代数与硬件描述语言基础

2.1 逻辑代数 (1)逻辑代数的基本定律和恒等式 基本定律或 “”与 “”非 “—”0-1律A0AA11AAAA A ‾ \overline{A} A1(互补律)A00A1AAAAA A ‾ \overline{A} A0 A ‾ ‾ \overline{\overline{A}} AA结合律(AB)C A(BC)(AB)CA(BC)ABC交换律AB BAABBA分…

exFAT文件系统识别不了怎么办?

一般存储驱动器通常会使用几种文件系统,其中比较常见的是FAT32、NTFS和exFAT,那么它们之间有什么区别呢?exFAT文件系统识别不了怎么办? 常用文件系统之间的区别有哪些? FAT32文件系统:它是一个兼容性非常强…

知识分享:一文读懂AIGC与大模型

什么是大模型? 关于大模型,有学者称之为“大规模预训练模型”(large pretrained language model),也有学者进一步提出”基础模型”(Foundation Models)的概念。 “小模型”:针对特定应用场景需求进行训练&a…

快快销ShopMatrix 分销商城多端uniapp可编译5端 - 佣金倍数提现

本文来自应用中心-9999款应用在线选购 "佣金倍数提现"这个概念在不同的上下文中可能有不同的含义,但通常它涉及到基于用户赚取的佣金来设定提现条件。这是一种常见的机制,尤其是在那些提供佣金或回扣的平台上,如联盟营销、金融交易…

武汉灰京文化:抓住用户心理,游戏推广不可或缺的前提

在当今激烈竞争的游戏市场中,了解目标用户成为游戏推广的不可或缺的前提。不同类型的游戏适合不同的用户群体,因此通过深入研究用户画像,准确定位目标用户群体,成为游戏成功推广的关键一环。游戏推广不仅仅是让更多的人知道游戏的…

三方接口对接常见数据处理方式汇总

文章目录 数据请求格式application/json接收发送 multipart/form-data接收发送 application/x-www-form-urlencoded接收发送 text/xml接收发送 Request请求中各个数据载体获取方法HeaderParameterInputStreamAttribute 二次封装HttpServletRequest参考 验签与加密 日常开发中&a…

运筹说 第90期 | 网络计划-图解评审法

前述章节的网络计划方法主要研究以时间为主要参数的确定型网络模型,其中的概率型网络模型也只讨论工作公式的不确定性,并没有对事项或工作的不确定性进行讨论。由于这类网络模型的建立有严格的规则,大量研究与开发类计划尚无法表达。因从本期…

【51单片机系列】单片机与PC进行串行通信

一、单片机与PC机串行通信的设计 工业现场的测控系统中,常使用单片机进行监测点的数据采集,然后单片机通过串口与PC通信,把采集的数据串行传送到PC机上,再在PC机上进行数据处理。 PC机配置的都是RS-232标准串口,为D型…

steam游戏搬砖项目还能火多久?

最近放假回到老家,见了不少亲戚朋友,大家不约而同都在感叹今年大环境不好,工作不顺,生意效益不好,公司状况不佳,反问我们生意如何?为了让他们心里好受一点,我也假装附和道:也不咋地&…

【项目经验】详解Puppeteer入门及案例

文章目录 一.项目需求及Puppeteer是什么?二.Puppeteer注意事项及常用的方法1.注意事项2.常用的方法*puppeteer.launch()**browser.newPage()**page.goto()**page.on(request,()> {})**page.e…

如何根据水利需求选择合适的遥测终端机

在水利信息化建设中,遥测终端机作为关键的设备之一,发挥着越来越重要的作用。如何根据实际的水利需求选择合适的遥测终端机,成为了众多企业和单位关注的焦点。本文将为您揭示遥测终端机的选择之道,助您在水利信息化建设中取得事半…

微信接入知识库定制化的AI会怎样?

想不想要一个更加了解你的chatgpt?或者想给chatgpt加入特定的知识库? LinkAI来帮你! 通过LinkAI,无需openai的api key,直接使用chatgpt。无需考虑服务器代理配置,openai账号注册等!自定义知识…

3.3.3 使用集线器的星形拓扑

3.3.3 使用集线器的星形拓扑 集线器的一些特点 3.3.4 以太网的信道利用率 多个站在以太网上同时工作就可能会发生碰撞当发生碰撞时,信道资源实际上是被浪费了。因此,当扣除碰撞所造成的信道损失后,以太网总的信道利用率并不能达到100% 3.…

多个table的选中问题

多个table的选中问题 场景:循环出来多个table,最后拿到所有选中的数据 出现的问题:比如先选择第一个table的某些数据,再去选另外的table,这样selection里面只有最后选中的table的数据。 解决方法:在sele…

接口interface--java学习笔记

认识接口 java提供了一个关键字interface,用这个关键字可以定义出一个特殊的结构:接口在接口里面定义的变量,不管加不加public static final修饰都默认为常量,必须赋初值在接口里面定义的方法,不管加不加public abstr…

Java实现高校大学生创业管理系统 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统公告模块2.2 创业项目模块2.3 创业社团模块2.4 政府政策模块2.5 创业比赛模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 系统公告表3.2.2 创业项目表3.2.3 创业社团表3.2.4 政策表 四、系统展示五、核心代码5.…

操作系统详解(5.2)——信号(Signal)的题目进阶

系列文章: 操作系统详解(1)——操作系统的作用 操作系统详解(2)——异常处理(Exception) 操作系统详解(3)——进程、并发和并行 操作系统详解(4)——进程控制(fork, waitpid, sleep, execve) 操作系统详解(5)——信号(Signal) 操作系统详解(5.1)——信号(Signal)的相…

linux终端上传github提示:更新被拒绝,因为远程仓库包含您本地尚不存在的提交

问题: 提示:更新被拒绝,因为远程仓库包含您本地尚不存在的提交。这通常是因为另外 提示:一个仓库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更 提示:(如 git pull ...&#xff…

走进Spring Boot 3.x时代(一)

目录 前言Spring Boot 2.x 时代Spring Boot 3.x 时代Spring Boot 3.x 新特性JDK调整平滑升级依赖调整最低环境要求配置属性兼容提高应用可观察性Jakarta EE升级的关键变更支持 GraalVM 原生镜像三方包升级Log4j2增强ConstructorBinding检测优化Micrometer 升级Micrometer Trac…