Docker容器---介绍、安装

news2024/12/24 7:18:03

Docker基本管理

    • 一、Docker概述
      • 1、IT架构
      • 2、什么是docker
      • 3、Docker特点
      • 4、Docker与KVM区别
    • 二、Docker核心概念
      • 1、镜像 容器 仓库
      • 2、虚拟架构有哪些
    • 三、Docker使用场景
      • 1、Docker在内核中支持的2种重要技术
      • 2、应用场景
    • 四、Docker安装
      • 1、YUM安装docker
      • 2、设置阿里云镜像源
      • 3、查看docker版本信息
    • 五、docker镜像命令管理
      • 1、搜索镜像
      • 2、镜像加速下载
      • 3、查看本地本地镜像
      • 4、查看镜像的详细信息
      • 5、给本地镜像添加新的标签
      • 6、删除镜像
      • 7、批量删除镜像
      • 8、存储镜像
      • 9、载入镜像

一、Docker概述

1、IT架构

云计算涌现出很多改变传统IT架构和运维方式的新技术,比如虚拟机、容器、微服务、Serverless(无服务),无论这些技术应用在哪些场景,降低成本、提升效率是云服务永恒的主题。

  • Bare Metal(裸金属):运行物理机,也称为裸金属

  • Virual machines(虚拟机):可以在一台物理机上创建多个虚拟机,并把物理配置分发成多个虚拟配置

    缺点:性能损耗大,大约损耗50%

    虚拟机常用软件:VMware workstation(windows、vm Sphere+ESXI (Windows server)、KVM(linux内核))

  • Containers(容器):容器内部自身有一个小型操作系统
    常用软件:docker、podman、rocket、container

  • functions函数(函数化、代码化)

2、什么是docker

(1)Docker 是一个开源的应用容器引擎基于go 语言开发并遵循了apache2.0 协议开源

(2)Docker 是在Linux 容器里运行应用的开源工具,是一种轻量级的“虚拟机”

(3)Docker的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的,可移植的,自给自足的容器。

Docker 的Logo设计为蓝色鲸鱼,拖着许多集装箱,鲸鱼可以看作为宿主机,集装箱可以理解为相互隔离的容器,每个集装箱中都包含自己的应用程序

3、Docker特点

容器化越来越受欢迎,因为容器是:

(1)灵活:即使是最复杂的应用也可以集装箱化。

(2)轻量级:容器利用并共享主机内核。

(3)可互换:可以即时部署更新和升级。

(4)便携式:可以在本地构建,部署到云,并在任何地方运行。

(5)可扩展:可以增加并白动分发容器副本。

(6)可堆叠:可以垂直和即时堆叠服务。

容器是在linux上本机运行,并与其他容器共享主机的内核,它运行的是一个独立的进程,不占用其他任何可执行文件的内存,非常轻量。虚拟机运行的是一个完整的操作系统,通过虚拟机管理程序对主机资源进行虚拟访问,相比之下需要的资源更多。

4、Docker与KVM区别

(1)隔离共享

虚拟机通过添加Hypervisor层(虚拟化中间层),虚拟出网卡、内存、CPU等虚拟硬件,再在其上建立虚拟机,每个虚拟机都有自己的系统内核。而Docker容器则是通过隔离(namesapce)的方式,将文件系统、进程、设备、网络等资源进行隔离,再对权限、CPU资源等进行控制(cgroup),最终让容器之间互不影响,容器无法影响宿主机。

(2)性能与损耗

与虚拟机相比,容器资源损耗要少。
同样的宿主机下,能够建立容器的数量要比虚拟机多。
虚拟机的安全性要比容器稍好,要从虚拟机攻破到宿主机或其他虚拟机,需要先攻破 Hypervisor层,这是极其困难的,而docker容器与宿主机共享内核、文件系统等资源,更有可能对其他容器、宿主机产生影响。
在这里插入图片描述

二、Docker核心概念

1、镜像 容器 仓库

镜像:包含了各种环境或者服务(tomcat redis nginx)的一个模板。运行容器的基础,包含运行应
用程序所需的所有内容。

容器:是镜像运行起来之后的一个实例,可以把容器看做是一个简易版的linux环境容器就是集装箱
从镜像创建的叫做运行实例。

仓库:存放镜像的场所,最大的公开库是docker。私有仓库harboor。

2、虚拟架构有哪些

寄据架构

本机(真实操作系统)–> 虚拟化产品–> 虚拟化操作系统或软件

原生架构

裸金属之上 服务器 --> 虚拟化产品
虚拟化产品 vmware kvm/openstack linux虚拟环境 私有云环境

三、Docker使用场景

1、Docker在内核中支持的2种重要技术

docker 本质就是宿主机的一个进程,docker 通过namespace 实现资源隔离,通过==cgroups ==实现资源限制,通过写时复制技术(copy-on-write)实现了高效的文件操作(类似虚拟机的磁盘。比如分配500G,并不是实际占用物理磁盘500g,而是随着使用扩展)。

2、应用场景

打包应用部署简单、适合做微服务部署、适合持续集成和持续交付、提高开发效率、快速部署。

四、Docker安装

1、YUM安装docker

[root@localhost ~]#setenforce 0
[root@localhost ~]#systemctl disable --now firewalld
[root@localhost yum.repos.d]#yum install -y yum-utils device-mapper-persistent-data lvm2

在这里插入图片描述
在这里插入图片描述

2、设置阿里云镜像源

[root@localhost yum.repos.d]#yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@localhost yum.repos.d]#yum install -y docker-ce docker-ce-cli containerd.io
 #安装docker
[root@localhost yum.repos.d]#systemctl start docker.service   #启动并设置开机自启
[root@localhost yum.repos.d]#systemctl enable docker.service 

在这里插入图片描述

3、查看docker版本信息

[root@localhost yum.repos.d]#docker version 
[root@localhost yum.repos.d]#docker info

在这里插入图片描述
在这里插入图片描述

五、docker镜像命令管理

1、搜索镜像

    搜索镜像
格式:docker search 关键字
获取镜像(下载)
格式:docker pull 仓库名称[:标签]

在这里插入图片描述

2、镜像加速下载

浏览器访问 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 获取镜像加速器配置

[root@localhost ~]#vim /etc/docker/daemon.json
添加自己的加速器地址,如下图
[root@localhost ~]#systemctl daemon-reload     #重新加载配置
[root@localhost ~]#systemctl restart docker    #重启服务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、查看本地本地镜像

[root@localhost ~]#docker images
------------------------------------------------------------------------------------
#注释:
 REPOSITORY:镜像属于的仓库;
 TAG:镜像的标签信息,标记同一个仓库中的不同镜像;
 IMAGE ID:镜像的唯一ID 号,唯一标识一个镜像;
 CREATED:镜像创建时间;
 VIRTUAL SIZE:镜像大小;
 ------------------------------------------------------------------------------------
 
 #镜像下载后存放在 /var/lib/docker 
 #查看下载的镜像文件信息
 cat /var/lib/docker/image/overlay2/repositories.json

在这里插入图片描述
在这里插入图片描述

4、查看镜像的详细信息

格式:docker inspect 镜像ID号/容器ID     #根据镜像的唯一标识 ID 号,获取镜像详细信息
[root@localhost ~]#docker inspect 605c77e624dd

在这里插入图片描述

5、给本地镜像添加新的标签

添加镜像后,镜像的ID并不会改变

 格式:docker tag 名称:[标签] [仓库名/]名称:[新标签]
 
 例:
 docker tag nginx:latest nginx:web       #为nginx镜像添加web标签
 docker tag nginx:latest 仓库名/nginx:web   #为镜像添加库标识,方便上传到官方仓库,因为上传镜像时必须指定仓库
 docker images | grep nginx

在这里插入图片描述
在这里插入图片描述

6、删除镜像

注:如果该镜像已经被容器使用,正确的做法是先删除依赖该镜像的所有容器,再去删除镜像

  格式:
docker rmi 镜像名:标签      #删除指定标签
docker rmi 镜像ID -f       #删除指定镜像
 
 docker rmi nginx:web          #删除nginx镜像的web标签
 docker rmi ac826143758d       #删除镜像,该镜像只有单个标签的情况下
 docker rmi 55f4b40fe486 -f    #删除镜像,镜像有多个标签时需要加-f

在这里插入图片描述
在这里插入图片描述

7、批量删除镜像

 docker images        #查看本地所有镜像
 docker images -q     #查看本地有哪些镜像,只显示镜像ID
 docker rmi $(docker images -q) -f    #批量删除本地所有镜像

在这里插入图片描述

8、存储镜像

将镜像保存为本地文件

将镜像保存到本地文件,实际上就是把镜像打包成一个tar包

 格式:docker save -o 存储文件名 存储的镜像
 [root@localhost ~]#docker save -o mynginx.tar nginx:latest     #打包镜像命名为mynginx.tar存在当前目录下
[root@localhost ~]#ls

在这里插入图片描述

9、载入镜像

将镜像文件导入镜像库中

 格式:
docker load < 存出的文件
 或者
 docker load -i 存出的文件
 
 #主机A通过scp命令将打包好镜像文件传给主机B,主机B将镜像文件导入到docker本地
 scp ~/mynginx.tar 192.168.192.15:/root/
 
 #主机B将镜像文件导入到镜像库中 
 docker load < mynginx.tar  或者   docker load -i mynginx.tar 

在这里插入图片描述
在这里插入图片描述
总结

Docker是什么?能干什么?

Docker是基于go语言开发的开源容器引擎,可以在任何主机上运行容器应用,并且每个容器都是一个轻量级的虚拟机。实现 “一次封装,到处运行” 的目的。
三大核心概念:镜像 容器 仓库。还有一些所用到的操作命令。

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

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

相关文章

Java多线程初阶(一)(图片+源码+超详细)

线程的概念参照以往的这篇文章&#x1f43b; 目录 1.创建线程 1.1 继承Thread类 1.2 实现Runnable接口 eg&#xff1a;常用的简写方式 2.Thread类中的常用API 3. start方法和run方法 4. 继承Thread类启动新线程的逻辑 5. 实现Runnable接口启动新线程的逻辑 6. 线程相关…

Linux基础—日志分析

Linux基础—日志分析 一、日志的功能1.日志消息的级别2.设备字段说明 二、日志文件的分类1.内核及系统日志2.用户日志3.程序日志 三、日志文件1.日志文件查看2.主要日志文件介绍3.日志管理策略 一、日志的功能 用于记录系统、程序运行中发生的各种事件 通过阅读日志&#xff0c…

图像描述算法排位赛:SceneXplain与MiniGPT-4谁将夺得桂冠?

如果你对 AI 前沿感兴趣&#xff0c;本场「图像描述算法排位赛」绝对是你不能错过的&#xff01;在这场较量中&#xff0c;SceneXplain 和 MiniGPT-4 将会比试&#xff0c;谁将摘得这场比赛的桂冠&#xff1f; &#x1f4ce; 直接上手体验&#xff1a;scenex.jina.ai 背景介绍 …

手机存储数据恢复软件哪个好用?试了10款,我只认准这一款!

案例&#xff1a;手机存储数据恢复软件哪个好用&#xff1f; 【有没有好介绍的苹果数据恢复软件&#xff1f;可以恢复好几年数据的那种软件&#xff1f;求推荐&#xff01;】 手机中的数据是用户平时使用手机时不可避免的内容&#xff0c;这些数据包括照片、视频、音乐、文件等…

Baumer工业相机堡盟工业相机如何通过BGAPISDK的软触发实现两相机同步采集(C++)

Baumer工业相机堡盟工业相机如何通过BGAPISDK的软触发实现两相机的同步采集&#xff08;C&#xff09; Baumer工业相机Baumer工业相机的高速同步采集的技术背景Baumer工业相机通过BGAPI SDK在回调函数里同步保存图像工业相机在回调函数BufferEvent保存工业相机使用软触发进行同…

【观察】华为:新一代楼宇网络,使能绿建智慧化

“碳达峰”、“碳中和”目标是我国生态文明建设和高质量可持续发展的重要战略安排&#xff0c;将推动全社会加速向绿色低碳转型。作为全球既有建筑和每年新建建筑量最大的国家&#xff0c;大力发展绿色建筑对中国全方位迈向低碳社会、实现高质量发展具有重要意义。 《“十四五”…

使用FirmAE 对zyxel路由器固件仿真实践 | 信息安全

一、FirmAE简介 FirmAE 是一个执行仿真和漏洞分析的全自动框架。FirmAE 使用五种仲裁技术显著提高仿真成功率&#xff08;从Firmadyne的 16.28% 提高到 79.36%&#xff09;。 FirmAE的整体架构为如上图所示。与Firmadyne类似&#xff0c;FirmAE在预先构建的自定义Linux内核和库…

Codeforces Round 816 (Div. 2)(C. Monoblock)

传送门 题意&#xff1a; 定义一个数组&#xff0c;定义它 相等连续段的个数 如1,2,2,1&#xff0c;相等连续段有[1],[2,2],[1]&#xff0c;共3个 如2,2,2,1&#xff0c;相等连续段有[2,2,2],[1]&#xff0c;共2个 给定一个数组a&#xff0c;定义g(l,r)为&#xff0c;子数组中…

fisco bcos 2.0+ 版本浏览器搭建

Fisco Bcos当前已经发布了3版本&#xff0c;在3版本中&#xff0c;Fisco摒弃了原有的区块链浏览器&#xff0c;而是提供了具有更为丰富功能的图形化区块链管理工具WeBase&#xff0c;后续也会提供对于WeBase的搭建部署教程。 文章目录 一、准备条件二、下载浏览器安装脚本1. 下…

ChatGPT4 的体验 一站式 AI工具箱 -—Poe(使用教程)

最近由于人工智能聊天机器人的爆火(ChatGPT)&#xff0c;因此各种各样的AI助手流行与网络&#xff0c;各种各样的都有&#xff0c;不论是什么样的其实都是为了我们更方便的解决问题&#xff0c;今天介绍一款AI工具箱——Poe将多种AI集成与一个界面&#xff0c;大家可以一次感受…

Mac系统brew报错“The GitHub credentials in the macOS keychain may be invalid”解决

报错信息如下&#xff1a; $ brew search nginx Warning: Error searching on GitHub: GitHub API Error: Requires authentication The GitHub credentials in the macOS keychain may be invalid. Clear them with: printf "protocolhttps\nhostgithub.com\n" | …

Python双向链表的操作

目录 一、双向链表 双向链表示例图 二、双向链表的操作 1、判断链表是否为空 2&#xff0c;链表长度 3&#xff0c;遍历整个链表 4&#xff0c;在链表头部添加元素 5、链表尾部添加元素 6&#xff0c;在指定位置插入元素 7&#xff0c;修改指定位置的元素 8&#xff0…

百度ai智能写作工具-百度ai自动写文章

百度AI智能写作工具&#xff1a;让创作更快捷、高效&#xff01; 在当今竞争激烈的文化创意市场中&#xff0c;创作一篇高质量的文章需要投入大量时间和精力。然而&#xff0c;有了百度AI智能写作工具&#xff0c;创作变得更快捷、高效了。 百度AI智能写作工具采用最先进的人…

JVM之垃圾回收器概述

目录 垃圾收集器分类 按线程数分 按照工作模式分 ​编辑 按碎片处理方式分 按工作的内存区间分 评估GC的性能指标 吞吐量 暂停时间 吞吐量 vs 暂停时间 垃圾回收器概述 垃圾收集器没有在规范中进行过多的规定&#xff0c;可以由不同的厂商、不同版本的JVM来实现。 由…

一起学 WebGL:感受三维世界之视图矩阵

大家好&#xff0c;我是前端西瓜哥。之前绘制的图形都是在 XY 轴所在的平面上&#xff0c;这次我们来加入一点深度信息 z&#xff0c;带你走入三维的世界。 视图矩阵 对于一个立方体来说&#xff0c;我们从它的正前方看&#xff0c;不管距离它多远&#xff0c;也只能看到一个…

微服务下网关聚合Swagger文档、starter统一配置Swagger

一、starter实现统一配置微服务文档 把Swagger配置中的公共部分抽取出来Swagger与SpringBoot整合中&#xff0c;可能会由于版本问题出现各种问题 1、制作starter 参考&#xff1a; 【SpringBoot】自定义启动器 Starter【保姆级教程】用starter实现Oauth2中资源服务的统一配置用…

中级软件设计师备考---数据库系统1

目录 数据库模式数据库的设计过程E-R模型关系代数与元组演算 数据库模式 三级模式、两级映射 定义&#xff1a; 三级模式&#xff1a;外模式、概念模式和内模式&#xff1b;两级映射&#xff1a;外模式-概念模式映射、概念模式-内模式映射 外模式是用户看到的数据库的部分 概…

Linux的常见指令 -掌握

前言 为什么要学命令行&#xff1f; windows/苹果图形界面&#xff0c;是商业化的产物&#xff0c;也就是使用必须简单小白&#xff0c;才能有人用&#xff0c;so what&#xff1f;严格意义上讲&#xff0c;我们必须要学一下Linux命令行。因为企业后端有大量的服务器&#xff…

Web3.0:重新定义互联网的未来

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; Web3.0&#xff1a;重新定义互联网的未来 Web3.0是指下一代互联网&#xff0c;也称为“分布式互联网”。相比于Web1.0和Web2.0&#xff0c;Web3.0具有更强的去中心化、…

如何快速查找下载外文文献,哪个文献下载网站好用

​​如何高效获取到自己需要的外文文献&#xff0c;最好的办法就是去文献来源数据库中查找&#xff0c;你需要的文献来源数据库有可能是Elsevier&#xff08;sciencedirect&#xff09;、也可能是Wiley Online Library、也有可能是IEEE等等&#xff0c;外文数据库机构太多了。这…