Docker简介

news2024/12/24 11:05:50

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.coloradmin.cn/o/136315.html

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

相关文章

【Leetcode】111. 二叉树的最小深度

一、题目 1、题目描述 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 示例1: 输入:root [3,9,20,null,null,15,7] 输出:2…

4.0、Linux-文件属性查看和修改学习

4.0、Linux-文件属性查看和修改学习 基本属性 Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限;为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限…

Linux0基础入门,教你如何在Shell中使用正则表达式

正则表达式 在 shell 脚本中成功运用 sed 编辑器和 gawk 程序的关键在于熟练使用正则表达式。这可不是件简单的事,从大量数据中过滤出特定数据可能会(而且经常会)很复杂。本章将介绍如何在 sed 编辑器和 gawk 程序中创建正则表达式来过滤出需…

聚观早报 | 元旦机票预订量增长145%;小米集团副总裁崔宝秋离职

今日要闻:元旦跨境机票预订量增长145%;小米集团副总裁崔宝秋离职;抖音推出桌面端聊天软件;《阿凡达2》全球票房破14亿美元;苹果 A17 芯片要用 3nm 工艺元旦跨境机票预订量增长145% 1 月 2 日,各旅游平台发布…

小工具集锦,5款好用的良心软件

今天来给大家推荐5款良心软件,每款都是经过时间检验的精品,用起来让你的工作效率提升飞快,各个都让你觉得相见恨晚! 1.高效截图——Snipaste 我曾经尝试过 FastStone Capture、ShareX 等多款截图软件,直到遇见 Snipaste 才画上句点。除了基…

“当不存在跨域问题,也解决了数据验证时,还出现:No ‘Access-Control-Allow-Origin‘,说存在跨域问题 ”的解决办法

不存在跨域问题,数据验证也弄好了,还出现下面的问题:Access to XMLHttpRequest at https://m.maizuo.com/gateway?cityId440100&pageNum1&pageSize10&type1&k7325551 from origin http://localhost:8080 has been blocked b…

OpenCv:直方图均衡化(HE),自适应直方图均衡化(AHE),限制对比度自适应直方图均衡化(CLAHE)

总结了使用Python OpenCv处理图像直方图均衡化(HE),自适应直方图均衡化(AHE),限制对比度自适应直方图均衡化(CLAHE)的方法。 目录直方图均衡化(HE)自适应直方图均衡化(AHE)限制对比度自适应直方图均衡化(CLAHE)代码测试结果场景1场景2直方图均衡化(HE) …

MySQL 体系结构

MySQL经典体系结构 MySQL连接: MySQL Protocol(MySQL协议) Socket (Unix Scoket)本地连接 比如:mysql -uroot -p123 -S /tmp/mysql.sock TCP/IP(远程连接) 比如:mysql -uroot -p123 -h 10.0.0.51 -P3306 API (应用程序、开发) Native API C、PHP、JDBC、ODBC、.NET、Pyth…

大数据资源整合分析平台_企业大数据管理软件_大数据资源整合管理系统

在现如今大数据时代下,很多公司拥有大量的数据信息,这些数据繁多并且复杂,对于不懂技术的人员来讲,无疑是巨大的难题,这些数据背后存在着巨大的价值,我们可以利用大数据的方式,来提高数据的使用…

戴尔灵越14电脑U盘重装系统方法分享

戴尔灵越14电脑U盘重装系统方法分享。一些用户的戴尔灵越14电脑在进行了系统升级之后,出现了系统不兼容的情况,导致自己的电脑桌面出现了蓝屏的情况。那么这个情况下我们怎么去将系统进行重装呢?一起来看看U盘重装系统的方法吧。 准备工作&am…

详解前端页面性能测试方案——开源工具Lighthouse

相信绝大多数测试同学对于前端页面的性能测试都是通过使用各个浏览器的开发者工具进行抓包来查看响应中各种请求、js和图片的响应时间,然后把发现慢的点进行截图,然后汇总给开发人员。今天给大家介绍一款工具,不仅可以对页面性能进行打分&…

同步、异步、单工、双工、半双工有啥不同

1-同步、异步通信 串行通信通常情况下分为同步和异步通信,同步通信需要同步时钟信号,而异步通信则是不需要同步时钟信号的。 同步通信:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。 异步通信:…

物联网架构实例—Ubuntu 安装RabbitMQ

1.安装前准备 1.1.更新apt-get源 apt-get update 1.2.erlang支持 rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlang. apt-get install erlang-nox 1.3.查看erlang版本 erl 1.4.添加公钥 wget -O- https://www.rabbitmq.com/rabbitmq-release-…

SQL常用语句

SQL(Structured Query Language) 结构化查询语言,是用来访问和处理数据库的编程语言 使用SQL语言编写出来的代码叫做SQL语句 SQL语言只能在关系型数据库(MySQL,Oracle,SQL Sever)中使用。非关系型数据库(Mongodb)不支持SQL语言 在SQL语句中的关键字无所谓大小写&…

C++泛型算法

泛型算法copy()源码:自实现myCopy()find()源码:自实现myFind()sort()源码:自实现mySort()2个参数3个参数find_if自实现myFind_if()copy() 作用:将某容器的区间数据拷贝到指定指定容器的指定位置 前两个参数是普通的顺序型迭代器…

多线程(java)

1.线程相关概念 1.1程序(program) 是为完成特定任务、用某种语言编写的一组指令的集合。 简单的说:就是我们写的代码 1.2 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存空间。当我们使用迅雷…

前端在线写代码——打造一个自己的编辑器

前端在线写代码——打造一个自己的编辑器前言html格式化css、js格式化List item ) 前言 下载IDE编辑器占用太大,第三方在线编辑空间又给太小,于是乎自己动手开发一个。功能有 1、html格式化 2、css格式化 3、js格式化 4、导入包 5、导出html网页 6、自…

lombok原理

1.更简单的⽇志输出—lombok 每次都使⽤ LoggerFactory.getLogger(xxx.class) 很繁琐,且每个类都添加⼀遍,也很麻烦,这⾥讲⼀种更好⽤的⽇志输出⽅式,使⽤ lombok 来更简单的输出。 添加 lombok 框架⽀持。使⽤ slf4j 注解输出⽇…

终于弄明白了 RocketMQ 的存储模型

RocketMQ 优异的性能表现,必然绕不开其优秀的存储模型 。 这篇文章,笔者按照自己的理解 , 尝试分析 RocketMQ 的存储模型,希望对大家有所启发。 1 整体概览 首先温习下 RocketMQ 架构。 整体架构中包含四种角色 : Producer :消息…

如何快速传输大文件:4 种大文件传输有效的方法

文件大小正在爆炸式增长,随之而来的挑战是如何仍然以快速、安全的方式发送。从这个意义上说,弄清楚如何快速传输大文件似乎是一项几乎不可能完成的任务。随着工作流程不断适应数字化,这对于自由职业者、业余视频编辑、后期制作公司和广播公司…