docker概念、安装与卸载

2023-11-09

第一章 docker概念

Docker 是一个开源的应用容器引擎。

Docker 诞生于2013年初,基于 Go 语言实现,dotCloud 公司出品,后改名为 Docker Inc。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linxu 机器上。

Docker 容器完全使用沙箱机制,相互隔离,容器性能开销极低。

Docker 从 17.03 版本后分为 CE(Community Edition:社区版)和 EE(Enterprise Edition:企业版)。

总结:Docker 是一个容器技术,解决了软件跨环境迁移的问题。

第二章 docker架构

Docker 包括三个基本概念:

(1)镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。

(2)容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

(3)仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。

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

Docker 容器通过 Docker 镜像来创建。

容器与镜像的关系类似于面向对象编程中的对象与类。

概念 说明
Docker 镜像(Images) Docker 镜像是用于创建 Docker 容器的模板,比如 Ubuntu 系统。
Docker 容器(Container) 容器是独立运行的一个或一组应用,是镜像运行时的实体。
Docker 客户端(Client) Docker 客户端通过命令行或者其他工具使用 Docker SDK (Develop with Docker Engine SDKs | Docker Docs) 与 Docker 的守护进程通信。
Docker 主机(Host) 一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。
Docker Registry

Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。

Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。

通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。

Docker Machine Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

第三章 安装docker

Docker 可以运行在 Windows、Mac、Centos、Ubuntu 等操作系统上,本案例为在CentOs上安装Docker,其他安装方式可参考菜鸟教程:MacOS Docker 安装 | 菜鸟教程

Docker 官网:https://www.docker.com

3.1、yum手动安装docker

# 1、yum包更新到最新
 yum update
 # 2、安装需要的软件包,yum-util 提供 yum-config-manager 功能,另外两个是 devicemapper 驱动依赖的
 yum install -y yum-utils device-mapper-persistent-data lvm2
 # 3、较旧的Docker版本称为docker或docker-engine,需要先卸载旧的Docker版本
 yum remove docker \
          docker-client \
          docker-client-latest \
          docker-common \
          docker-latest \
          docker-latest-logrotate \
          docker-logrotate \
          docker-engine
 # 4、设置yum源,官方源地址下载速度会比较慢,建议选择国内源地址
 # 4.1、官方源地址
 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
 # 4.2、阿里云源地址
 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
 # 4.3、清华大学源地址
 yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
 # 5、安装docker,出现输入的界面默认输入y
 yum install -y docker-ce
 # 6、查看docker版本,验证docker是否安装成功
 docker -v

3.2、官方安装脚本自动安装

安装命令如下:

 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

也可以使用国内 daocloud 一键安装命令:

 curl -sSL https://get.daocloud.io/docker | sh

3.3、Docker配置镜像加速器

本案例配置的是阿里云的镜像加速器,除了阿里云之外,还可以配置中科院、腾讯云、网易云等提供的镜像加速器,只需要将daemon.json文件中的镜像地址替换即可。

 sudo mkdir -p /etc/docker
 sudo tee /etc/docker/daemon.json <<-'EOF'
 {
   "registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"]
 }
 EOF
 sudo systemctl daemon-reload
 sudo systemctl restart docker

3.4、启动并加入开机启动

systemctl start docker && systemctl enable docker

第四章 卸载docker

删除安装包命令如下:

yum remove docker-ce

删除镜像、容器、配置文件等内容:

 rm -rf /var/lib/docker
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker概念、安装与卸载 的相关文章

随机推荐

  • 《Python 计算机视觉编程》学习笔记(一)

    Python计算机视觉编程 文章目录 前言 第 1 章 基本的图像操作和处理 引言 1 1 PIL Python图像处理类库 图像读取 显示 显示对应灰度图 更改图像格式 后缀 创建缩略图 复制和粘贴图像区域 调整尺寸和旋转 1 2 Mat
  • opencv实践项目-修改表格缺失轮廓

    目录 1 背景 2 修复步骤 2 1 图像灰度化 并进行高斯模糊 2 2 对图像进行阀值处理 2 3 查找轮廓 2 4 利用存储的值了解表格的位置 2 5 提取所有的水平线和垂直线 2 6 合并垂直和水平的两个模版 3 完整代码 1 背景
  • 如何去掉 Discuz标题后缀power by discuz

    如何去掉 Discuz标题后缀power by discuz 打开如下文件 template default common header common htm php 找到如下代码 navtitle G setting bbname Pow
  • Package包 和 Library库 理解

    Library 库 一组相关功能的模块的集合 import的类库 最常用的有java util等 通过动态链接在程序中实现功能 Package 包 一个有层次的文件结构 Java源文件第一条语句 解决类冲突 包名要与文件夹一致
  • KVM管理工具

    kvm实现方式 qemu工具 qemu kvm qemu img qemu 处理器模拟器 仿真各种IO设备 将仿真设备连接至主机的物理设备 提供用户接口 基本格式 qemu kvm 选项 磁盘镜像文件 标准选项 machine type n
  • 数组应用(C): 数据求均值

    数组应用 数据求均值 问题描述 由键盘输入读取整型数据 数据数量不超过100个 当读取到数据 1时 停止读取数据 并计算这些数据的均值 不包含 1 问题分析 给定了数据数量不超过100 若将每个输入数据分别赋值给变量 a1 a2 a3 a4
  • Aop监控所有Controller,包括void类型的response中的出参(工具类)

    一 主要坐标
  • 了解实现一个高并发的内存池——TLS Memmory Pool

    为什么需要内存池 1 效率问题 如果我们直接向系统申请内存 当我们需要频繁的申请释放内存时 就需要频繁的与系统层产生交互 多次切换用户态和内核态 而用户态和内核态之间的切换的消耗是非常大的 因此申请内存的消耗就会很大 程序效率也就随之降低了
  • 数据结构—判断一棵二叉树是否是完全二叉树(java)

    判断一棵二叉树是否是完全二叉树 一 完全二叉树的三种节点 完全二叉树有右树必有左树 节点编号和满二叉树一一对应 1 度为2的节点有n个 2 度为1的节点只能有1个 3 度为0的节点有n个 二 具体思路 1 分两个阶段 第一阶段所有节点都有左
  • Linux下安装Lua脚本

    yum install libtermcap devel ncurses devel libevent devel readline devel curl R O http www lua org ftp lua 5 3 5 tar gz
  • 密码学与网络安全-基本概念

    安全方法 安全模型 无安全性 隐藏安全 一件事物不为人知 那么它是安全的 如密码 类比代码实现防范 路径 端口等 主机安全性 网络安全性 安全管理 向有关方面解释安全策略 该要介绍每个人的责任 建立可监察性 提供预期和定期审查 安全原则 举
  • mongodb内置角色

    开发十年 就只剩下这套Java开发体系了 gt gt gt 1 内置角色组织结构图 2 角色解释 2 1数据库用户角色 针对每一个数据库进行控制 read 提供了读取所有非系统集合 以及系统集合中的system indexes system
  • 【技能树笔记】网络篇——练习题解析(二)

    目录 前言 一 数据链路层的作用 1 1 数据链路层作用 1 2 数据链路层封装 1 3 数据链路层功能 1 4 数据帧格式 二 MAC地址及分类 2 1 MAC地址 2 2 MAC地址分类 三 交换机的作用 3 1 交换机的作用 3 2
  • STM32CubeMX使用教程——使用485总线接收变送器数据

    STM32CubeMX使用485总线接收变送器数据 一 要使用的外设 二 使用STM32CubeMX生成工程 引脚配置 时钟树配置 工程管理 生成项目 三 代码编辑 四 注意事项 一 要使用的外设 USART1 引脚PA9 PA10 用于打
  • 压力测试-JMeter的多种形式参数化

    在使用JMeter做压力测试 接口测试时 面对数据量比较大的情况下一个一个的去设置肯定会非常影响效率 所以参数化的方式必不可少 本文分享JMeter常用的几种参数化的形式 准备工作 创建基础API框架 新建测试计划 创建线程组 创建HTTP
  • blender中常用快捷键的总结

    学习过程中遇到较为重要的blender快捷键 总结 在移动 G 缩放 S 旋转 的时候 按住 XYZ 代表限定方向 alt R G S代表重置 扩展 R在进行旋转的时候按鼠标滚轮会定位到最近的坐标轴 进行校对 shift A 创建一个对象
  • 无线通信(LoRa和zigbee,补充WIFI)

    原文 1 LoRa是物联网应用中的无线技术有多种 可组成局域网或广域网 2 ZigBee是基于IEEE802 15 4标准的低功耗局域网协议 1 简介 LoRa 是LPWAN通信技术中的一种 是美国Semtech公司采用和推广的一种基于扩频
  • vue 数据更新,视图未更新,原因,解决方法

    复现问题
  • geth web3提供的接口

    admin datadir ethcluster 779977 data 01 nodeInfo enode enode ca624860483a9f749676491bbf5b11cc7ded0a89f5c9f522767ebea0195
  • docker概念、安装与卸载

    第一章 docker概念 Docker 是一个开源的应用容器引擎 Docker 诞生于2013年初 基于 Go 语言实现 dotCloud 公司出品 后改名为 Docker Inc Docker 可以让开发者打包他们的应用以及依赖包到一个轻