首页 > 其他分享 >docker安装与使用之保姆级教程

docker安装与使用之保姆级教程

时间:2024-12-18 22:56:53浏览次数:7  
标签:容器 教程 操作系统 虚拟机 保姆 镜像 docker Docker

前言:

一、定义

Docker 容器是一种轻量级、可移植、自包含的软件打包技术。它是通过 Docker 引擎创建的运行实例,将软件及其依赖项打包到一个独立的单元中,使得应用程序可以在不同的计算环境中以相同的方式运行。

简单来说,就好像是一个装满了应用程序和它运行所需一切(如代码、运行时环境、系统工具、库等)的盒子。这个盒子可以在任何支持 Docker 的地方被轻松地搬运和开启运行。

二、与传统虚拟机的对比

1、资源占用:虚拟机包含完整的操作系统,占用大量的磁盘空间和内存。例如,一个运行 Windows Server 2019 虚拟机可能需要几十 GB 的磁盘空间和数 GB 的内存来运行。Docker 容器共享主机的操作系统内核,多个容器可以运行在同一个操作系统之上。一个简单的 Node.js 应用容器可能只需要几十 MB 到几百 MB 的磁盘空间和相对较少的内存,因为它不需要包含完整的操作系统,只需要应用本身和相关依赖的资源。

2、启动速度:虚拟机启动时需要加载完整的操作系统,这个过程比较缓慢,可能需要几分钟时间。例如,启动一个基于 Linux 的虚拟机,从开机自检到操作系统完全启动,可能需要 1 - 2 分钟。Docker 容器启动非常快,因为它不需要启动完整的操作系统,只是启动应用程序及其依赖,通常可以在几秒内完成启动。像一个简单的 Web 服务容器,可能只需要 1 - 2 秒就可以开始提供服务。

3、隔离性:虚拟机提供了硬件级别的隔离,每个虚拟机都有自己独立的操作系统,安全性相对较高。但是这种隔离也导致资源利用效率相对较低。Docker 容器是通过操作系统的内核特性(如 Linux 的 cgroups 和 namespaces)实现进程级别的隔离,在保证应用相对独立运行的同时,能更高效地利用资源。不过,容器之间的隔离性相对虚拟机稍弱,例如在容器共享内核的情况下,如果内核出现问题,可能会影响多个容器。

三、容器的组成部分

1、镜像(Image)镜像是容器的基础,它是一个只读的模板,包含了运行容器所需的所有文件系统层。例如,一个 Ubuntu 操作系统的 Docker 镜像包含了 Ubuntu 系统的文件结构、安装的软件包等。可以通过docker pull命令从 Docker Hub(一个公共的镜像仓库)或者其他私有镜像仓库拉取镜像。

镜像采用分层结构,每层代表一次文件系统的修改。例如,基础的 Ubuntu 镜像可能是一层,在上面安装了一个 Web 服务器软件(如 Nginx)就会新增一层,这种分层结构使得镜像的构建和存储更加高效。

2、容器层(Container Layer)当从镜像启动一个容器时,会在镜像之上添加一个可写的容器层。容器运行过程中产生的所有数据(如日志文件、配置文件的修改等)都存储在这个容器层。这使得容器在停止后重新启动时可以保留之前的运行状态。

实验步骤:

1、查看自己虚拟机版本以及下载dnf工具

2、清除虚拟机中老版docker(可能没有docker,但是敲完无影响)

3、下载dnf插件

4、搜索阿里云镜像开源站,通过命令进行安装

方法一:根据官方文档走(不想看官方文档直接看方法二)

方法二:按命令来

5、配置国内镜像加速

6、查看docker是否安装成功

7、启动docker

8、docker的使用,从docker hub中拉取一个Ubuntu镜像

9、docker的镜像文件在该文件夹下

10、以Ubuntu这个镜像为基础启动一个容器来运行,并启动Ubuntu里面的bash进行交互操作

11、列出所有镜像

以上实验完成。

遇到问题联系3123408853@qq.com

标签:容器,教程,操作系统,虚拟机,保姆,镜像,docker,Docker
From: https://blog.csdn.net/2303_77269489/article/details/144571199

相关文章

  • Docker的容器编排
    目录1.什么是容器编排(DockerCompose)2.容器编排的功能3.容器编排文件(docker-compose.yml)的介绍3.1文件语法版本3.2文件基本结构及常见指令4.DockerCompose命令详解4.1DockerCompose命令清单4.2命令格式和常见选项说明4.3常见命令说明4.3.1dockercomposeup......
  • docker高级篇(大厂进阶):安装mysql主从复制
    @目录1.Docker复杂安装详说1.1安装mysql主从复制本人其他相关文章链接1.Docker复杂安装详说1.1安装mysql主从复制主从搭建步骤:1)新建主服务器容器实例33072)进入/mydata/mysql-master/conf目录下新建my.cnf3)修改完配置后重启master实例4)进入mysql-master容器5)master容器实......
  • 新手小白必看:2025最新Instagram商店入驻教程
     随着社交媒体电商的兴起,Instagram商店已成为品牌和个体商家触及全球消费者的重要平台。如果你是新手小白,正准备在2025年踏上Instagram电商之旅,那么这份最新的入驻教程不要错过了!从账户设置到产品上架,我将一步步带你了解如何在Instagram上成功开设你的在线商店~速速收藏!一、......
  • Windows Server 2019 配置PHP环境(图文教程)
    操作系统:WindowsServer2019运行模式:IIS10+fastcgi+PHP(安装IIS的时候选择上CGI)软件版本:MySQL5.7.37解压版/PHP7.4.29/PHPManager1.5.0/phpMyAdmin5.1.31、MySQL5.7.37解压版安装:为什么我会选择解压版而不是安装版?一是因为安装版没有64位版本;二是因为安装版......
  • 关于XXE靶场保姆级攻略
    一.XEE靶场来到我们的XXE靶场先随便输入账号密码抓个包我们发现了他有很多xml的字样,说明我们可以用xml进行攻击,上图下方框中的是html字样,这就是我们的注入点输入<?xmlversion="1.0"?><!DOCTYPEANY[<!ENTITYxxeSYSTEM"file:///c:/flag/flag">]>system后面......
  • CTFHUB靶场关于SSRF保姆级攻略
    一.内网访问输入127.0.0.1/flag.php二.伪协议读取文件输入?url=file:///var/www/html/flag.php右键页面查看源代码三.端口扫描尝试一下index.php,没有显示,说明有这个文件上方题中提示我们端口在8000-9000中我们用burpsuite抓包,开启代理输入?url=127.0.......
  • Docker
    介绍Docker是一组平台即服务(PaaS)的产品。它基于操作系统层级的虚拟化技术,将软件与其依赖项打包为容器。托管容器的软件称为Docker引擎。Docker能够帮助开发者在轻量级容器中自动部署应用程序,并使得不同容器中的应用程序彼此隔离,高效工作。Docker安装首先如果系统中已经存......
  • windows 安装完docker, hype-v开启之后,vmware无法使用
    windows安装完docker,hype-v开启之后,vmware无法使用故障:安装完dockerfordesktop之后,原来的VMware,VMVirtualBox都无法启动。使用Docker是需要开启Hyper-V的,但是开启Hyper-V之后,是会与VMware发生冲突的(需要禁用Hyper-V),所以两个只能二选一。VMware错误信息:VMwareWorkstati......
  • Pandas教程之三十二:Pandas 处理文本数据
    Python|Pandas处理文本数据Series和Indexes配备了一组字符串处理方法,可以轻松对数组的每个元素进行操作。也许最重要的是,这些方法会自动排除缺失/NA值。这些方法可通过 str 属性访问,并且通常具有与等效(标量)内置字符串方法匹配的名称。将数据转换为小写和大写为了将......
  • Spring Boot教程之三十二:自定义 Jackson ObjectMapper
    SpringBoot–自定义JacksonObjectMapper当使用JSON格式时,SpringBoot将使用ObjectMapper实例来序列化响应并反序列化请求。在本文中,我们将介绍配置序列化和反序列化选项的最常用方法。让我们来看看默认配置。默认情况下,SpringBoot配置如下:禁用MapperFeature.DE......