Docker简介

news/2025/2/20 2:04:36/

Docker官网链接: http://docker.p2hp.com/

问题:

我们开发的嵌入式项目基本是基于虚拟机下的ubuntu的,如果每一个项目要求的系统版本、库版本、交叉编译工具链等不一样,我们就需要为每一个项目安装一个对应的ubuntu,这既浪费存储又浪费时间,也不方便拷贝给别的同事。如果说有一种工具,可以将各个环境隔离开来,相互之间不会影响,就像一个个沙箱盒子一样独立包装,那么Docker可以做到。

Docker概述:

Docker (码头工人)是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司(后由于 Docker 开源后大受欢迎就将公司改名为 Docker Inc ,总部位于美国加州的旧金山)内部的一个开源的 PAAS 服务 (Platform as a ServiceService )的业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护

Docker与虚拟机区别:

Docker容器与虚拟机类似,但二者在原理上有所不同。Docker是操作系统层面的虚拟化,直接使用本地操作系统。虚拟机则是硬件级别的虚拟化,需要有额外的虚拟机管理应用和虚拟机操作系统层。因此容器更具有便携性、高效地利用资源。容器更多的用于表示软件的一个标准化单元。由于容器的标准化,因此它可以无视基础设施(Infrastructure)的差异,部署到任何一个地方。

Docker 架构

Docker 包括三个基本概念:

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

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

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

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

  1. Linux上安装docker: https://docs.docker.com/desktop/install/linux-install/

  1. 在MAC上安装docker: https://dockerdocs.cn/docker-for-mac/install/

  1. 参考:https://www.runoob.com/docker/docker-tutorial.html


http://www.ppmy.cn/news/8971.html

相关文章

linphone android sdk 源码下载编译

前言 前面的有写过Android 使用Linphone SDK开发SIP客户端相关的文章, 在后续的开发过程中, 为了更深入了解linphone, 便尝试下载SDK源码自行编译. 关于linphone这里不作过多介绍, 可以参考前面的文章. Linphone-SDK 是一个将 Liblinphone 及其依赖项捆绑为 git 子模块的项目&a…

c++动态内存管理

1.回顾c语言中的动态内存管理 在c语言中,我们想要动态开辟一段空间,需要使用malloc,calloc,realloc几个函数 void* malloc (size_t size); //在堆上申请size个字节的空间void* calloc (size_t num, size_t size); //第一个参数是…

Qt常用快捷键汇总

文章目录Win:常规界面Ui设计界面Linux差异:Win: 常规界面 F1 打开帮助 F2 跳到声明/定义 F3 普通查找的查找下一个 Linux:Ctrl G F4 切换.h/.cpp文件 F5 调试运行程序 F6 高级查找的查找下一个 F9 设置/取消断点 F10 单步调试 F11 进入函数…

STK异常场景介绍

本文介绍两种STK异常场景。 SMSC不能通过STK refresh命令更新终端插入带有STK应用的SIM卡,进入STK应用,选择”refresh SMSC”,然后进入短信设置,查看短信中心号码并没有更新。 关键Log MSG_ID_SAT_FILE_CHANGE_IND Local_Parameter --> Len = 256, Addr = 0x62B8F66C sa…

高级IO-多路转接

高级IO 以前的都是拷贝接口。write什么的就是将字符串拷贝到发送缓冲区中。 应用层等待接收缓冲区填写数据的过程算是IO吗?算 IO等待拷贝数据; 真正的IO的过程就是拷贝的过程。比如等待鱼上钩的时候也算是钓鱼(adj),当把鱼拿上来的时候也…

Vlan的原理与配置

传统以太网的问题 规模大了,之后导致性能也很差,广播会增加 解决:用Vlan,不受地域限制,同一Vlan内的设备才能直接进行二层通信 实验 首先配置以上vlan与电脑ip 配置IP之后可以进行ping命令测试刚开始是连通的&#x…

【C语言】你对动态内存分配有多少了解呢

🏖️作者:malloc不出对象 ⛺专栏:《初识C语言》 👦个人简介:一名双非本科院校大二在读的科班编程菜鸟,努力编程只为赶上各位大佬的步伐🙈🙈 目录前言一、什么是动态内存分配二、为什…

JVM垃圾回收器-ParNew回收器:并行回收

文章目录学习资料垃圾回收器ParNew回收器:并行回收学习资料 【尚硅谷宋红康JVM全套教程(详解java虚拟机)】 【阿里巴巴Java开发手册】https://www.w3cschool.cn/alibaba_java JDK 8 JVM官方手册 垃圾回收器 ParNew回收器:并行回…