【Docker基础篇】一文完成快速使用

news2024/12/27 13:07:56

Docker基础篇

  • 前言
  • Docker是什么?
  • Docker与传统虚拟机技术区别
  • Docker作用、为什么用
  • docker原理
  • Docker常用命令
  • 案例展示
    • redis
    • 各种软件安装
  • 打包到本地、上传到远程仓库
    • 打包到本地
    • 推送到远程仓库

前言

所有的权威均来自与官方,如有疑问请参考官网文献。人非圣贤孰能无过。没有所谓的成功秘诀,一切源于你开始了吗。
【下面全部内容均来自于自己学习笔记,如有错误或侵权请联系改正或删除】

官网地址
官网镜像仓库
阿里云镜像仓库
网易云163镜像仓库
镜像加速器地址获取(个人免费)

Docker是什么?

Docker是解决环境和配置问题,方便做持续集成且有助于整体发布的容器虚拟化技术。

Docker与传统虚拟机技术区别

对比项Docker传统虚拟机
操作系统直接使用宿主机的OS(操作系统)宿主机OS上面运行虚拟机的OS
大小所需应用系统+所需应用
性能无额外的消耗额外的系统对CPU+内存的消耗
移植性轻便、灵活笨重、与虚拟机耦合度高
硬件亲和度偏向于软件运维偏向于硬件运维
部署速度快速1s以内缓慢10s以内
复杂度简单:操作系统最小内核复杂:整个操作系统

Docker作用、为什么用

开发运维一体化(devops);一次构建随处运行;更快应用交付与部署;更便捷的升级和扩缩容;更简单的系统运维;更高效的资源计算和利用。

美团Why Docker

  • 更轻量:基于容器虚拟技术,仅包含业务运行所需的runtime环境,CentOS基础镜像仅170M;宿主机可以部署100~1000个容器
  • 更高效:无操作系统虚拟化开销
  • 计算:轻量,无额外开销
  • 存储:系统盘aufs/dm/overlayfs; 数据盘volume
  • 网络:宿主机网络,NS隔离
  • 更敏捷、更灵活:分层的存储和包管理,devops理念;支持多种网络配置

蘑菇街Why Docker

  • 轻量、秒级的快速启动速度
  • 简单、易用,活跃的社区
  • 标准统一的打包/部署/运行方案
  • 镜像支持增量分发,易于部署
  • 易于构建,良好的REST API,也很适合自动化测试和持续集成
  • 性能,尤其是内存和IO的开销

docker原理

Docker简单过程

  • 用户使用docker client 与docker daemon(守护进程) 建立通信,并发送请求给后者。
  • docker daemon 作为架构主体部分,首先提供docker server 的功能使其可以接受docker client 的请求
  • docker engine(引擎)执行docker内部的一系列工作,每一项工作都以一个Job的形式存在
  • Job的运行过程中,当需要容器镜像的时候,则从Docker Registry中下载镜像(先本地-〉再远程),并通过镜像管理驱动Graph driver将下载镜像以Graph的形式存储
  • 当需要为Docker创建网络环境时,通过网络管理驱动Network driver创建并配置Docker容器网络环境
  • 当需要限制Docker容器运行资源或执行用户指令等操作时,则通过Exec driver来完成
  • Libcontainer是一项独立的容器管理包,Network driver以及Exec driver都是通过Libcontainer来实现具体对容器进行的操作。

Docker常用命令

  • 安装、卸载Docker:借鉴文献
  • 启动Docker: systemctl start docker
  • 停止Docker:systemctl stop docker
  • 重启Docker:systemctl restart docker
  • 查看Docker状态:systemctl status docker
  • 设置Docker开机启动:systemctl enable docker
  • 查看Docker信息:docker info
  • 查看镜像:docker images
  • 删除镜像:docker rmi [IMAGE ID]
  • 拉取镜像:docker pull [REPOSITORY:TAG]
  • 启动镜像容器:docker run -d -p [宿主机port]:[容器port] --name [自定义容器名字][REPOSITORY:TAG]
  • 停止镜像:docker stop [IMAGE ID]
  • 搜索镜像:docker search [镜像名称]
  • 查看启动容器:docker ps
  • 查看全部容器:docker ps -a
  • 查看容器详情:docker inspect [CONTAINER ID]
  • 停止容器:docker stop [CONTAINER ID]
  • 重启容器:docker restart [CONTAINER ID]
  • 其他命令:docker --help 查看 或者 docker [options] --help

案例展示

redis

  • 查看镜像 docker search redis
  • 拉取自己需要的镜像官方地址 docker pull redis:6.2.8
  • 查看本地镜像 docker images
  • 运行容器 docker run -itd --name redis-test -p 6379:6379 redis:6.2.8
  • 查看是否运行成功 docker ps
  • 进入虚拟终端 docker exec -it redis-test /bin/bash # 采用exit退出即可

各种软件安装

所有的安装方式都和上面类似,也可以借鉴如下
权威文献借阅

打包到本地、上传到远程仓库

打包到本地

docker commit 方式
参考文献
dockerfile 方式
相关字段描述参考文献

FROM 		#基础镜像,一切从这里开始构建
MAINTAINER	#镜像是谁写的,姓名+邮箱
RUN			#镜像构建时需要运行的命令
ADD			#步骤,tomcat镜像,这个tomcat压缩包;添加内容
WORKDIR		#镜像工作目录
VOLUME		#挂载的目录
EXPOSE		#暴露端口配置
CMD			#指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT	#指定这个容器启动的时候要运行的命令,可以追加命令
ONBUILD		#当构建一个被继承DockerFile 这个时候就会运行 ONBUILD 的指令,触发指令
COPY		#类似ADD,将我们的文件拷贝至镜像中
ENV			#构建的时候设置环境变量

推送到远程仓库

登录远程仓库 docker login [docker id]
推送到远程 参考文献

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

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

相关文章

网络厂商 Aruba 2022 年业绩成倍增长的经验是什么

转眼,2022 年马上就要结束了。 在多重不确定的经济环境之下,网络厂商 Aruba 中国在 2022 年的业绩,与上一财年相比仍然实现了成倍的增长。今年初,CSDN 曾采访过 Aruba 中国区的管理者 Aruba 中国区总经理谢建国与 Aruba 北中国区大…

alpine的介绍与使用

目录 1. alpine 简介 2. 基于alpine构建jdk8镜像 2.1 Dockerfile 2.2 将构建目录上传到linux中 2.3 执行构建 3. 镜像瘦身 4. 上传阿里云镜像仓库 1. alpine 简介 Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl …

【车间调度】基于卷积神经网络的柔性作业车间调度问题的两阶段算法(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

CryptoJS加密解密

1.CryptoJS CryptoJS库是前端js写的一个加密解密的工具,使用场景就是对于像账户密码等重要信息要显示在页面上时,需要加密,这样才能保证安全,CryptoJS提供了许多加密的方法, 请参考: cryptojs-JavaScrip…

OSPF的汇总实验

目录 1.拓扑图 2.实验要求 3.实验思路 4.主要配置 5.测试 6.实验总结 1.拓扑图 2.实验要求 R4为ISP,其上只能配置ip,R4与其他所有直连设备间使用公有ip;解决ospf不规则区域;整个ospf环境ip地址为172.16.0.0/16,…

pure pursuit纯跟踪

Pure Pursuit是一种几何追踪方法,速度越小,performance越好; :汽车前轮转角 L:前后轮轴距(车长) R:转弯半径 将车辆模型简化为自行车模型(这里默认左轮和右轮的旋转是一致的)!!! bicycle model: pure pursuit建立于自行车模型和阿克曼小车模型的基础上,goal point为距离后…

2022年用于Web开发的15种最佳编程语言

Web 开发是一个常青的领域,机会总是很多。自 90 年代初出现以来,开发行业在各种方式和领域中发展并蓬勃发展。今天,在 21 世纪,Web 开发仍然是最受欢迎的技能之一。要在这个领域开始职业生涯,掌握Web 开发语言是必不可…

UDS-10.4 SecurityAccess (27) service

10.4 安全访问(27)服务 来自:ISO 14229-1-2020.pdf 10.4.1 服务描述 本服务的目的是提供一种访问数据和/或诊断服务的方法,这些数据和/或诊断服务由于安全、排放或安全原因而被限制访问。用于将例程或数据下载/上传到服务器以及从服务器读取特定内存位置…

spring 基础知识-- IOC 和 DI 的配置和使用。

目录 一、基本概念 二、Spring 核心概念 1、问题分析 2、IOC、IOC容器、Bean、DI 3、IOC 入门案例 4、DI 入门案例 三、IOC 详解 1、bean 基础配置 2、bean 实例化 3、bean 生命周期 四、DI 详解 1、setter 注入 2、构造器注入 3、自动配置 4、集合注入 一、基…

go调度和性能分析利器之trace

trace的使用示例 import ("fmt""log""os""runtime/trace""sync" )func main() {//runtime.GOMAXPROCS(1)// 1. 创建trace持久化的文件句柄f, err : os.Create("trace.out")if err ! nil {log.Fatalf("failed…

再次学习make

目录 1.Makefile的重要性 2.MakeFile的概念 3.Makefile的优点 4.Makefile的基本语法 5.变量 5.1 自定义变量 5.2 变量的赋值 5.3自动变量 5.4 Makefile的隐含变量 6.Makefile的函数 6.1意义: 6.2 基本语法: 6.3 部分常用函数 6.4 自定义函…

ECS-弹性容器服务 - Part 1

67-ECS-弹性容器服务 - Part 1 Hello大家好,我们今天的课时内容是ECS-AWS的弹性容器服务。 ECS-AWS的弹性容器服务 ECS是高度可扩展的、快速的容器管理和编排服务。 使用ECS,能够将您的Docker容器运行在AWS EC2或者 Fargate管理的无服务器架构上。 将容…

磨金石教育摄影技能干货分享|什么是序列摄影?它让摄影更加深刻

著名摄影师肖尔曾这样表达过自己的摄影理念。 他说:“吸引我的总是平淡无奇的瞬间”。 他与著名的纪实摄影师布列松不同,他不喜欢去游荡在生活之外,去抓拍他人的精彩瞬间。 他也不喜欢报道式的摄影,不去过多关注社会话题。 而是将…

第二证券|首批浮动费率基金三年成绩出炉 规模虽小收益可观

2019年12月18日至12月26日,6家基金公司试点建立了职业第一批逐笔比例提取成绩酬劳的起浮办理费率基金(下称“起浮费率基金”)。如今,这6只起浮费率基金运作均已满三年,到2022年12月26日,6只产品建立以来均匀…

Selenium Webdriver 实现原理详解

目录 1. Selenium 概述 2. 术语解释: 3. Selenium WebDriver 实现原理 4. 安装selenium 客户端,浏览器,驱动 4.1 安装selenium client lib 4.2 安装浏览器和浏览器驱动 4.3 例子代码 4.4 省略浏览器驱动的方法 4.5 测试代码与Webdr…

MAC控制器驱动

嵌入式Linux开发模式下,以太网硬件架构一般都是 MAC与PHY是独立的。所以以太网模块的硬件相关的驱动代码主要包括 GMAC 和 PHY,其中MAC控制器驱动由SoC厂商开发,PHY芯片驱动由PHY厂商开发,PHY 驱动一般使用通用 PHY 驱动&#xff…

无线烧录器(2)

传送门:连接 继上次完成了ESP32无线烧录器。那么有一个问题就是,一堆人都在一起想用这个来无线烧录呢,那么固件中定死的热点名称岂不是会互相的扰乱。所以需要自己编译属于自己的热点名称。 首先需要准备以下几样东西。 Ubuntu (需…

excel数据透视表:善用这些功能,提高工作效率!下篇

在上篇文章中,我们为大家分享了透视表的前5条妙用,分别是合并同类项、按条件汇总数据、统计非重复数据、排名、批量创建表格,不知道大家都还记得吗?那么今天我们书接上回,继续为大家分享关于透视表的后5条妙用。 六、…

密码学_SM4国密算法

目录 简介 两类参数 加密流程 RKi和Ki4的生成方法 Xi4的生成方法​编辑 左移的概念 简介 在商用密码体系中,SM4主要用于数据加密,其算法公开,分组长度与密钥长度均为128bit,加密算法与密钥扩展算法都采用32轮非线性迭代结构&…

2022年终总结——脚踏实地,勇敢做自己

不知不觉又来到了年尾,即便都要迈入2023年了,但是在写日期的时候还会下意识的写成2021,这可能就是感觉一年额外漫长的原因吧。其实还是不希望过年的,毕竟跨过了新年要长岁了,看着日益增长的年岁还是会有点难过的&#…