docker安装部署实战详细手册

news2024/11/16 11:41:05

文章目录

  • 一、docker介绍
    • 1.什么是docker
    • 2.为什么使用docker
  • 二、docker架构
  • 三、docker安装
    • 1.安装
    • 2.卸载
  • 结尾


一、docker介绍

1.什么是docker

Docker 是一个开源的容器引擎,它有助于更快地交付应用。Docker 可将应用程序和基础设施层隔离,
并且能将基础设施当作程序一样进行管理。使用 Docker , 可更快地打包、测试以及部署应用程序,并可
以缩短从编写到部署运行代码的周期。

2.为什么使用docker

更高效的利用系统资源
由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker对系统资源的利用率更高,无
论是应用执行速度,内存消耗以及文件存储速度,都要比传统虚拟机技术更高效。因此,相比虚拟机技
术,一个相同配置的主机,往往可以运行更多数量的应用。

更快速的启动时间
传统的虚拟机技术启动应用服务往往需要数分钟,而Docker容器应用,由于直接运行与宿主内核,无序
启动完整的操作系统,因此可以做到妙级,甚至毫秒级的启动时间,大大的节约了开发,测试,部署的
时间。

一致的运行环境
开发过程中一个常见的问题是环境一致性问题,由于开发环境,测试环境,生产环境不一致,导致有些
bug并未在开发过程中被发现,而Docker的镜像提供了除内核外完整的运行时环境,确保了应用运行环
境一致性。

持续交付和部署
对于开发和运维人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。
使用Docker可以通过定制应用镜像来实现持续集成,持续交付,部署。开发人员可以通过Dockerfile来
进行镜像构建,并结合持续集成系统进行集成测试,而运维人员则可以在生产环境中快速部署该镜像,
甚至结合持续部署系统进行自动部署。

更轻松的迁移
由于Docker确保了执行环境的一致性,使得应用的迁移更加容易,Docker可以在很多平台上运行,无论
是物理机,虚拟机,公有云,私有云,甚至是比较本,其运行结果是一致的,因此用户可以很轻易的将
在一个平台上运行的应用,迁移到另一个平台上,而不用担心运行环境的变化导致应用无法正常运行的
情况。

更轻松的维护和扩展
Docker使用的分层存数以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更
加简单,基于基础镜像进一步扩展镜像也变得非常简单,此外,Docker团队同各个开源项目团队一起维
护了一大批高质量的官方镜像,既可以直接在生产环境使用,又可以作为基础进一步定制,大大的降低
了应用服务的镜像制作成本。


二、docker架构

在这里插入图片描述

Docker 架构包含的主要组件:

  • Docker daemon ( Docker 守护进程 )
    Docker daemon 是一个运行在宿主机 (DOCKER_HOST) 的后台进程。可通过 Docker 客户端与之通
    信。

  • Client (Docker 客户端)
    Docker 客户端是 Docker 的用户界面,它可以接受用户命令和配置标识,并与 Docker daemon 通信。

  • Images ( Docker 镜像 )
    Docker 镜像是一个只读模板,它包含创建 Docker 容器说明。它和系统安装光盘有点像 —— 使用系统
    安装光盘可以安装系统,同理,使用 Docker 镜像可以运行 Docker 镜像中的程序。

  • Container (容器)
    容器是镜像的可运行实例。镜像和容器的关系有点类似于面向对象中,类和对象的关系。可通过 Docker
    API 或 CLI 命令来启动、停止和移动、删除容器。

  • Registry ( 注册 )
    Docker Registry 是一个集中存储与分发镜像的服务。构建完 Docker 镜像后,就可在当前宿主机上运
    行。但如果想要在其他机器上运行这个镜像,就需要手动复制。此时,就可借助 Docker Registry 来避
    免镜像的手动复制。
    一个 Docker Registry 可包含多个 Docker 仓库,每个仓库可包含多个镜像标签,每个标签对应一个
    Docker 镜像。这跟 Maven 的仓库有点类似,如果把 Docker Registry 比作 Maven 仓库的话,那么
    Docker 仓库就可理解为某 jar 包的路径,而镜像标签则可理解为 jar 包的版本号。
    Docker Registry 可分为公有 Docker Registry 和私有 Docker Registry 。最常用的 Docker Registry 莫
    过于官方的 Docker Hub, 这也是默认的 Docker Registry 。Docker Hub 上存放着大量优秀的镜像,
    可使用 Docker 命令下载并使用。


三、docker安装

1.安装

移除非官方软件包

yum remove docker

卸载旧版本

yum remove docker \
docker-common \
docker-selinux \
docker-engine

依赖安装

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

配置阿里源

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

docker安装

列出可用的 Docker 版本

 yum list docker-ce --showduplicates | sort -r
 yum install docker-ce   # 安装指定版本,例如yum install -y docker-ce-20.10.7-3.el8

启动并加入开机自启

systemctl start docker
systemctl enable docker

查看 Docker 版本

docker version

配置docker的镜像加速和cgroup驱动(k8s需要)

tee /etc/docker/daemon.json <<-EOF
{
  "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF

重启docker

systemctl restart docker

2.卸载

卸载 Docker 软件包

yum remove docker-ce

如需删除镜像、容器、卷以及自定义的配置文件,可执行以下命令

rm -rf /var/lib/docker

结尾

  • 感谢大家的耐心阅读,如有建议请私信或评论留言。
  • 如有收获,劳烦支持,关注、点赞、评论、收藏均可,博主会经常更新,与大家共同进步

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

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

相关文章

docker 部署运行springboot-web.jar

Docker Hub官方公用仓库:https://hub.docker.com 一、docker安装jdk 1.先查看自己需要的版本 2.从仓库中下载 3.查看下载的镜像 4.创建并启动容器 其中(--namejdk1.8 这个jdk1.8是镜像majiajue/jdk1.8别名) docker run -di --namejdk1.8 majiajue/jdk1.8 5.查看是否启动容器…

用PyTorch简单实现线性回归

参考视频&#xff1a;05.用PyTorch实现线性回归_哔哩哔哩_bilibili 还是以y3x2y3x2y3x2为例&#xff08;事先不知道&#xff09; 学习率设为0.01&#xff0c;训练1000次 要注意视频中定义损失函数的部分所用的参数size_averageFalse已经过时&#xff0c;需要改成reduction‘…

深度学习系列1——Pytorch 图像分类(LeNet)

1. 概述 本文主要是参照 B 站 UP 主 霹雳吧啦Wz 的视频学习笔记&#xff0c;参考的相关资料在文末参照栏给出&#xff0c;包括实现代码和文中用的一些图片。 整个工程已经上传个人的 github https://github.com/lovewinds13/QYQXDeepLearning &#xff0c;下载即可直接测试&a…

VLAN trunk扩展 GVRP

目录 一、GVRP产生背景 VTP协议 GARP GVRP 二、GVRP的实现和基本概念 GVRP的应用 GVRP的单向注册 GVRP单向注销 GVRP的注册模式 VTP和GVRP的使用风险 一、GVRP产生背景 VTP协议 如何解决园区网中大批量的VLAN的配置问题&#xff1f; 早期可以使用excel表格配置VL…

小程序开发 - 基本组件

目录 小程序启动过程 页面渲染过程 新建文件夹 组件 view scroll-view swiper和swiper-item button image 小程序启动过程 将小程序代码包下载本地解析app.json全局配置文件执行app.js小程序入口文件&#xff0c;调用App()创建渲染小程序首页小程序启动完成 页面渲染过…

【MQTT基础篇(一)】MQTT介绍

文章目录MQTT介绍1 MQTT历史2 MQTT版本MQTT介绍 MQTT是一个客户端服务端架构的发布/订阅模式的消息传输协议。它的设计思想是轻巧、开放、简单、规范&#xff0c;易于实现。这些特点使得它对很多场景来说都是很好的选择&#xff0c;特别是对于受限的环境如机器与机器的通信&…

第七章:项目成本管理

一、规划成本管理 确定如何估算、预算、管理、监督和控制项目成本的过程。主要作用是在整个项目期间为如何管理项目成本提供指南和反向。 输入工具与技术输出 1.项目章程 2.项目管理文件 进度管理计划风险管理计划3.事业环境因素 4.组织过程资产 1.专家判断 2.数据分析 3.会…

SpringMVC学习篇(九)

SpringMVC拦截器例子 1 界面登录验证 1.1 准备工作 1.1.1 导入servlet-api依赖 <dependency><groupId>org.apache.tomcat</groupId><artifactId>servlet-api</artifactId><version>6.0.53</version> </dependency>1.1.2 创…

基于机器视觉的移动消防机器人(三)--软件设计

本文素材来源于北方民族大学 机电工程学院 作者&#xff1a;牟义达、黄瑞翔、李涛 指导老师&#xff1a;田国禾、张春涛 1. 总系统软件流程图 为了实现消防功能&#xff0c;对软件进行系统设计。根据机器人要实现的功能进行逐一设计&#xff0c;设计完之后再将其整合到一起&a…

流体力学基础——粘性

1、粘性&#xff1a;流体的属性 粘性就是流体阻碍自身流动的特性&#xff1b; 专业定义&#xff1a;粘性是流体持续剪切变形时内部产生剪切力的性质&#xff1b; 流体内部的粘性力&#xff0c;类似于固体的摩擦力&#xff0c;但是只有动粘性力&#xff1b; 表面张力不是粘性…

远程桌面一直被人爆破的解决思路

目录前言初步解决方法题外话预防措施获取日志Get-EventLog例子防火墙操作编写软件自动提取IP和添加黑名单调用powershell命令调用cmd命令前言 某天远程自己的电脑发现登不上了&#xff0c;错误信息如下&#xff1a; 开始也没在意&#xff0c;后面出现了好几次才反应过来。查看…

程序员职场生态:近8成本科毕业生起薪过万,跳槽首选智能汽车行业

中国互联网行业经历了超过20年的高速发展&#xff0c;逐渐融入到各行各业&#xff0c;程序员在其中发挥着举足轻重的作用&#xff0c;从业人员数量与日俱增。GitHub数据显示&#xff0c;2021年中国开发者规模达到755万。 近日&#xff0c;拉勾招聘数据研究院对程序员群体开展深…

SpringBoot笔记

文章目录1️⃣ 简介一. 什么是 IoC 容器&#xff1f;二. AOP面向切面编程三. SSM整合四. HttpServletRequest五. HttpServletResponse六. Cookie 与 Session七. Cookie八. Session九. 转发与重定向十. Spring项目转SpringBoot十一. Spring生命周期十二. 什么是 pom十三. 为什么…

知识整理说明:1799962-26-7,(4E)-TCO-NH2,(4E)-反式环辛烯-氨基

(4E)-TCO-amine物理数据&#xff1a; CAS&#xff1a;1799962-26-7| 中文名&#xff1a;(4E)-反式环辛烯-氨基 | 英文名&#xff1a;(4E)-TCO-amine&#xff0c;(4E)-TCO-NH2 结构式&#xff1a; 英文别名&#xff1a; (4E)-TCO-amine 中文别名&#xff1a; (4E)-反式环辛烯…

耗时半月,把牛客网最火Java面试题总结成PDF,涵盖所有面试高频题

最近感慨面试难的人越来越多了&#xff0c;一方面是市场环境&#xff0c;更重要的一方面是企业对Java的人才要求越来越高了。 基本上这样感慨的分为两类人&#xff0c;第一&#xff0c;虽然挂着3、5年经验&#xff0c;但肚子里货少&#xff0c;也没啥拿得出手的项目&#xff0c…

Vite 入门篇:学会它,一起提升开发幸福感。

相信大部分兄弟都体验过 Vite 了&#xff0c;知道它很快。但你知道它为什么快&#xff0c;相比 Webpack 有哪些不同吗&#xff1f;今天咱们就来全面了解一下 Vite &#xff0c;尤其适合新手兄弟。话不多说&#xff0c;开整&#xff01; 什么是构建工具 很多人对构建工具没有什…

RE转NFA转DFA

https://github.com/Nightmare4214/re_nfa_dfa 前置知识 ϵ\epsilonϵ代表空串 语言 某个给定字母表上一个任意的可数的串集合 正则语言/正则表达式 正则语言&#xff08;regular language&#xff09;/正则表达式&#xff08;regular expression&#xff09; 每个正则表达…

2022 SpeechHome 语音技术研讨会-回顾

2022年11月13日&#xff0c;第二届SpeechHome语音技术研讨会和第七届Kaldi技术交流会圆满落幕。本届SpeechHome语音技术研讨会由中国计算机学会、深圳市人工智能学会、小米集团、腾讯天籁实验室、语音之家主办&#xff0c;CCF语音对话与听觉专委会作为指导单位&#xff0c;由内…

【Java开发】 Spring 03:云服务器 Docker 环境下安装 MongoDB 并连接 Spring 项目实现简单 CRUD

接下来介绍一下 NoSQL &#xff0c;相比于 Mysql 等关系型的数据库&#xff0c;NoSQL &#xff08;文档型数据库&#xff09;由于存储的数据之间无关系&#xff0c;因此具备大数据量&#xff0c;高性能等特点&#xff0c;用于解决大规模数据集合多重数据种类带来的挑战&#xf…

点击化学试剂1609736-43-7,TCO-NH2 hydrochloride,反式环辛烯-氨基HCL盐

TCO-amine hydrochloride物理数据&#xff1a; CAS&#xff1a;1609736-43-7| 中文名&#xff1a; 反式环辛烯-氨基盐酸盐&#xff0c;反式环辛烯-氨基HCL盐 | 英文名&#xff1a;TCO-amine hydrochloride 结构式&#xff1a; 中文别名&#xff1a; 环辛-4-烯-1-基 (3-氨基丙…