Docker

Docker学习记录(一):Windows7下Docker的安装 本文主要记录Docker在Windows7系统下的安装过程,分享出来和大家一起学习,不足之处请批评指正。一、Docker在Windows10系统下的安装首先简单介绍一下Docker在Windows10系统下的安装方法,比较简单,直接下载DOCKER CE FOR WINDOWS,双击安装就行。(1)DOCKER CE FOR WINDOWS下载DOCKER CE FOR WINDOWS是Docke... 阅读详情


1. docker的介绍

1.1 什么是容器?

容器就是在隔离的环境运行的一个进程,如果进程停止,容器就会退出。隔离的环境拥有自己的系统文件,ip地址,主机名等

1.2 什么是Docker?

Docker是一个开源项目,诞生于2013年初,最初是dotCloud公司内部的一个业余项目。它基于Google公司推出的Go语言实现。项目后来加入了Linux基金会,遵从了Apache2.0协议,项目代码在GitHub上进行维护。Docker自开源后受到广泛的关注和讨论,以至于dotCloud公司后来都改名为DockerInc。Redhat已经在其RHEL6.5中集中支持Docker;Google也在其PaaS产品中广泛应用。Docker项目的目标是实现轻量级的操作系统虚拟化解决方案。Docker的基础是Linux容器(LXC)等技术。在LXC的基础上Docker进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作Docker的容器就像操作一个快速轻量级的虚拟机一样简单。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app),更重要的是容器性能开销极低。

1.3 为什么要使用Docker?

1.3.1 Docker容器虚拟化的好处

在云时代,开发者创建的应用必须要能很方便地在网络上传播,也就是说应用必须脱离底层物理硬件的限制;同时必须满足“任何时间任何地点”可获取可使用的特点。因此,开发者们需要一种新型的创建分布式应用程序的方式,快速分发部署,而这正是Docker所能够提供的最大优势。Docker提供了一种更为聪明的方式,通过容器来打包应用、解耦应用和运行平台。这意味着迁移的时候,只需要在新的服务器上启动需要的容器就可以了,无论新旧服务器是否是同一类别的平台。这无疑帮助我们节约了大量的宝贵时间,并降低部署过程出现问题的风险。

1.3.2 Docker在开发和运维中的优势

对于开发和运维人员来说,最梦寐以求的效果可能就是一次创建和配置,之后可以在任意地方、任意时间让应用正常运行,而Docker恰恰可以实现这一中级目标。具体来说,在开发和运维过程中,Docker具有以下几个方面的优势:

  1. 更快的交付和部署:
    使用Docker,开发人员可以使用镜像来快速构建一套标准的开发环境;开发完之后,测试和运维人员可以直接使用完全相同的环境来部署代码。只要是开发测试过的代码,就可以确保在生产环境无缝运行。Docker可以快速创建和删除容器,实现快速迭代,节约开发、测试及部署的时间。
  2. 更高效的利用资源:
    运行Docker容器不需要额外的虚拟化管理程序的支持,Docker是内核级的虚拟化,可以实现更高的性能,同时对资源的额外需求很低,与传统的虚拟机方式相比,Docker的性能要提高1~2个数量级。
  3. 更轻松的迁移和扩展:
    Docker容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑等等,同时支持主流的操作系统发行版本。这种兼容性能让用户可以在不同的平台之间轻松的迁移应用。
  4. 更轻松的管理和更新:
    使用Dockerfile,只需要小小的配置修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效的容器管理。
  5. 解决异构环境

1.4 Docker容器与传统虚拟化的区别

Docker以及其他容器技术,都属于操作系统虚拟化范畴,操作系统细腻化最大的特点就是不需要额外的supervisor支持。Docker虚拟化方式之所以有众多优势,跟操作系统虚拟化技术自身的设计和实现分不开。
传统方式是在硬件层面实现虚拟化,需要有额外的虚拟机管理应用和虚拟机操作系统层。Docker容器时在操作系统层面实现虚拟化,直接复用本地主机的操作系统,因此更加轻量级。

1、区别
虚拟机: 硬件cpu支持(vt虚拟化),模拟计算硬件,走正常的开机启动

2、容器: 不需要走开机启动流程,不需要硬件cpu的支持,共用宿主机内核去启动容器的第一个进程。
3、容器优势: 启动快,性能高,损耗少,轻量级
100个虚拟机运行100个服务需要10台物理机
100个容器运行100个服务需要大约6台物理机

2、Docker的优势
作为一种轻量级的虚拟化方式,Docker在运行应用上跟传统的虚拟机的方式相比具有如下显著优势:
1、Docker容器启动很快,启动和停止可以实现秒级,相比传统的虚拟机方式(分钟级)要快速很多。
2、Docker容器对系统资源需求很少,一台主机上可以同时运行数千个Docker容器。
3、Docker通过类似git设计理念的操作来方便用户获取、分发和更新应用镜像,存储复用,增量更新。
4、Docker通过Dockerfile支持灵活的自动化创建和部署机制,可以提高工作效率,并标准化流程。

1.5 Docker的核心概念

Docker中有三个核心概念:镜像、容器和仓库。因此,准确把握这三大概念对于掌握Docker技术尤为重要。

1、镜像(Image)
Docker镜像(Image),就相当于是一个root文件系统。比如官方镜像ubuntu:16.04就包含了完整的一套Ubuntu16.04最小系统的root文件系统。
2、容器(Container)
镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等
3、仓库(Repository)
用来保存镜像的仓库。当我们构建好自己的镜像之后,需要存放在仓库中,当我们需要启动一个镜像时,可以在仓库中下载下来。

参考

【1】Docker的介绍

Ubuntu16.04下离线安装docker和使用docker 安装docker dpkg指定安装路径 安装好docker以后,需要切换一些源 docker常用命令 删除/停止等命令 创建Docker用户组,避免使用sudo 查看DOCKER的一些信息 一个例子 docker搭建爬虫环境 网上直接pull下一个Images 自己做的image 安装docker 自己的电脑安装官网的安装没有安装成功,可能是没法上外网的原因,如果你... 阅读详情

相关推荐

docker ,nvidia-docker,docker-compose和nvidia-docker-compose的安装配置

预先安装:Ubuntu14.04,SSH,GIT,CUDA-8.0一、安装docker安装最新版// 1. 安装必要的一些系统工具 sudo apt-get update sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common // 2. 安装GPG证书 curl -f...

大白机器人的博客 2848

Docker镜像和容器

Docker镜像: 首先我们知道,操作系统分为内核和用户空间,相对于linux而言,内核启动后,会挂载root文件系统为其提供用户空间支持。 而Docker镜像,就相当于一个root文件系统,只不过这个文件系统有点特殊,提供了容器运行时所需要的程序、库、资源、配置等文件。 只不过它多包含了一些运行时准备的配置参数,实际上镜像不包含任何动态数据的,其内容在构建之后也是不会改变的。 镜

豆芽胡的博客 556

docker images找不到镜像,docker ps找不到进程,Cannot connect to the Docker daemon at unix:///var/run/docker.sock

分析发现,docker依赖docker.sock查找docker engine的配置文件daemon.json,从而将client连接到server。

long1272772507的博客 1192

初识Docker(了解Docker)

初识Docker 1、简介 Docker 是一个开源的应用容器引擎,它可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 鲸鱼上载满了集装箱 ==> 容器技术 2、Docker 架构 Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统(Root FileSystem,简称为rootfs)。【了解root文件系统】 容器(Container):镜像(Im

孛儿只斤·苏日娜的日记 181

【Docker】使用 Docker Compose 部署 Docker Registry

在内网环境中,我们期望能够在本地共享镜像。registry服务就是我们镜像仓库的服务,web服务会给我们提供一个可视化的web页面,方便我们查看镜像,web服务中配置的环境变量就是我们仓库服务registry的ip和端口。通过使用 Docker Compose,我们可以轻松地在本地部署 Docker Registry,并开始使用自己的私有镜像存储。如果我们想把镜像推送到公网,那么我们就可以使用阿里云容器镜像,虽然个人容器镜像托管服务是限额使用的,但额度对于我们个人使用的话已经足够了。

wjianwei666的专栏 893

别再搞混了!MATLAB通信仿真中EbN0转SNR的保姆级公式推导与避坑指南

本文深入解析MATLAB通信仿真中EbN0与SNR转换的核心公式,揭示数字仿真与理论系统的关键差异。通过真实案例展示错误参数设置导致的隐蔽问题,并提供完整的参数自查清单和正确实现代码,帮助工程师和学生避免常见错误,确保仿真结果准确可靠。

weixin_28746223的博客 348

Docker 镜像和容器数据卷

Docker镜像和容器数据卷 1、Docker镜像 1.1docker镜像是什么 操作系统分为内核和用户空间,对于Linux而言,内核启动后,会挂载root文件系统为其提供用户空间支持。而Docker镜像(Image),就相当于是一个root文件系统。 Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名...

烟雨gps 472

基于python+flask框架的基于微信小程序的CR公司建设项目信息管理系统-前台(开题+程序+论文) 计算机毕设

特别是随着移动互联网技术的普及,企业对便捷、高效的信息管理系统的需求日益迫切。另一方面,该系统集成了仓管、物料、财务、人事、供应商等多个模块,实现了数据的集中管理和信息共享,有助于企业实现精细化管理,降低运营成本,提升决策效率。:深入调研CR公司的业务需求,明确系统应具备的功能模块,包括仓管员管理模块(物料信息、退回记录、申请信息、仓库信息管理)、财务员管理模块(资金信息管理、采购与租赁款项处理)、人事管理模块、供应商管理模块、项目管理模块(项目信息、设备采购、物料采购、设备租赁)、以及考勤打卡模块等。

zhihao503的博客 960

【docker】linux系统docker的安装及使用

然后,只要一个命令,就能同时启动/关闭这些容器。阿里云:http:**//mirrors.aliyun.com/docker-ce/linux/centos/**docker-ce.repo 清华大学源:https:**//mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/**docker-ce.repo。注:所有docker容器的卷,没有指定目录情况下(具名挂载和匿名挂载),都在 /var/lib/docker/volumes/ 下。

Best_lgx的博客 8786

三、STM32F103ZET6最小系统

stm32最小系统除去主控CPU外,需要包含,电源电路,复位电路,BOOT电路,时钟电路(因为stm32有内置时钟,对时钟要求不高的话,可以不要)。NRST引脚其实芯片已经用一个约40K的电阻上拉了,所以理论上来说是不需要再外接上拉电阻的,但我看大家都是有外接上拉的,心里没有底,不管这么多,先预留着。吃过亏,特意查看了芯片手册资料,下图是官方建议的供电方案,图片来自stm32f103zet6数据手册。首先明白目标,单纯的学习软件知识并不是我希望的,我还希望会硬件设计,这样后面才能摆脱开发板。

sevendecsdn的博客 6457

【Labview学习】——如何实现软件的中/英文切换

各位亲爱的小伙伴们大家好,这里是小万的labview专题,今天为大家带来的是软件的中/英文切换,在全球化的浪潮之下,各行各业发生着巨大的变化,emmm………… 以下是简单的演示图片,注意观察菜单栏和软件界面各控件的语言状态: 本次分享将分为两部分:菜单中英文切换&界面控件中英文切换 ** 菜单中英文切换 ** 1. 中/英文菜单制造 要想实现菜单的中/英文语言切换,就得做两个菜单,一个...

weixin_44827166的博客 1万+

Linux docker及docker-compose安装教程

本文介绍了Linux系统中Docker和Docker-Compose的安装方法。在x86架构下,提供了联网和离线两种安装方式:对于Ubuntu系统可使用阿里云源在线安装,CentOS/AnolisOS系统可通过官方仓库或阿里镜像源安装;离线安装则需下载对应版本的安装包进行手动配置。同时详细说明了Docker服务配置、权限设置和开机自启等步骤。对于Docker-Compose的安装,给出了在线下载最新版本的命令。文中包含完整的代码示例,涵盖从安装到验证的全部流程,适用于不同Linux发行版的Docker环境部

qq_35861227的博客 4078

告别懵圈!用CANoe 5640手把手带你跑通SomeIP TC8测试(附脚本思路)

本文详细解析了基于CANoe 5640的SomeIP TC8测试全流程,从环境搭建到结果分析,特别针对车载以太网测试中的SomeIP协议测试难点提供实战指南。通过典型测试用例SOMEIP_TEST_61,手把手教你配置CANoe工程、编写CAPL脚本,并解决常见问题,助力开发者高效完成协议验证。

weixin_30791095的博客 363

Java技术栈 —— Docker入门

docker的本意是码头工人。Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。[1]一、参考文章或视频链接[1]《Docker》- 百度百科[2]Docker - 官方。

键盘国治理专家的博客 2117

单相PWM整流器的数学模型、工作原理

单相PWM整流器的数学模型、工作原理

weixin_58670090的博客 1万+

告别降级CUDA!手把手教你为RTX 50系显卡(5080/5090)配置专属的PyTorch Nightly + vLLM推理环境

本文详细指导如何为RTX 50系显卡(5080/5090)配置专属的PyTorch Nightly和vLLM推理环境,特别针对CUDA 12.8的适配问题提供解决方案。从硬件准备到源码编译,再到模型部署与性能调优,手把手教你构建高效AI推理系统。

weixin_33724046的博客 409

docker in docker使用方式

挂载主机docker文件 方式1:挂载主机上的docker.sock以及docker二进制文件 docker run -it \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $(which docker):/usr/bin/docker \ centos docker version 方式2:挂载主机docker.sock并在容器中安装docker客户端 docker run -it \ -v /var/run/docker.sock

IT 4294

AI 智能体(Agent)应用开发工程师 · 进阶面试 (五)

在有多位 Agent 共同参与决策时(如评审委员会、代码审查小组),它们可能提出截然相反的建议。共识机制就是用来在这种冲突中得出唯一行动方案的规则。常用机制:多数投票:每个 Agent 一票,根据投票结果决定。实现简单,但忽略了专业度差异。加权投票:根据 Agent 的角色重要性或历史表现赋予不同权重,例如首席架构师 Agent 的票权重是普通开发者 Agent 的 2 倍。管理者仲裁:由一个权限更高的 Manager Agent 听取各方理由后做出最终裁决。这类似于层级制组织决策。辩论收敛。

篮球界最会写bug的人;程序猿中打球最菜的人。 395

Docker in docker 实现

Docker in docker 文章目录Docker in docker原理实现(centos7)常见问题参考 在docker容器内运行docker一般是不被倡导的。但有些场景和业务上,需要在容器内使用docker对组件进行编译构建,不同的组件所需的依赖有不一致,不同自建相互之间的依赖很可能相互干扰(比如需要同一个组件的不同版本),因此docker-in-docker的解决方案被提出来了, 一般被用于CI或集成测试。 原理 通过将主机上的docker.sock挂载至容器内,实现共享主机的docker.so

SinkRain 2万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

docker in docker 在CI中应用解析

docker里嵌套运行docker,本文讲解其在jenkins和gitlab-runner 种的调用流程。

专注于输出大概有用的软硬件技术! 1603

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

此docker compose非彼docker-compose

维度docker-composedocker compose安装方式独立可执行文件(standalone)Docker 插件(plugin)对应版本Compose V1Compose V2命令格式短横线连接(docker-compose)空格分隔(docker compose)集成度独立工具,需单独安装集成在 Docker CLI 中推荐程度旧版,逐步淘汰官方推荐 ✅依赖独立二进制文件依赖 docker-compose-plugin。兼容性:docker-compose 在旧版本中更稳定,适合遗留系统。

爱码少年 00fly.online 的博客 2万+

dind(docker in docker)学习

docker in docker 说白了,就是在docker容器内启动一个docker daemon,对外提供服务。 优点在于: 镜像和容器都在一个隔离的环境,保持操作者的干净环境。 想到了再补充 :) 一:低版本启动及访问 启动1.12.6-dind docker run --privileged -d --name mydocker docker:1.12.6-dind 在其他容器访问 d...

IT老吴的博客 1万+

ARM架构下安装新版docker及docker-compose

【代码】ARM架构下安装新版docker及docker-compose。

qq_35861227的博客 3597

ubuntu20.04 安装docker,docker-compose

ubuntu20.04 安装docker,docker-compose

资深系统架构,深耕高并发研发与 AI 大模型工程化落地。技术栈以 Python (AI/NLP/RAG/Agent) 与 Golang (高并发架构) 为双核心,兼具 PHP 大型应用经验。专注算法落地、复杂系统设计及团队技术赋能 6442

Docker API(Registry API、Docker Hub API、Docker Remote API)

一、Docker API简介 在Docker生态系统中一共有3种API: Registry API:提供了与来存储Docker镜像的Docker Registry继承的功能 Docker Hub API:提供了与Docker Hub继承的功能 Docker Remote API:提供与Docker守护进程集成的功能 这3种API都是RESTful风格的 本文我们主要介绍Remote API,因为它是通过程序与Docker进行继承和交互的核心内容 二、初识Remote API Remo

董哥的黑板报 5143

Ubuntu 安装docker docker-compose

docker-compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过 docker-compose,你可以使用 YAML 文件来配置应用程序的服务、网络和卷。它简化了复杂应用的配置和启动过程,使得管理和部署多个相互依赖的容器变得非常简单。默认情况下,只有 root 用户或 docker 用户组的成员才能运行 Docker 命令。添加 Docker 的官方 GPG 密钥。将当前用户加入 docker 用户组。验证 Docker 是否安装成功。安装docker-compose。

hudeyong926的专栏 2255
上一篇: ROS依赖包安装相关
下一篇: Ubuntu 18.04安装 Beyond Compare 4
智驾
博客等级 码龄11年 6671粉丝 574原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智驾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值