Docker简介 MacM1安装Docker

news2024/10/1 21:26:14

文章目录

  • 1 Docker简介
  • 2 Docker VS 虚拟机
    • 1 Docker优势
    • 2 Docker用途
  • 3 MacM1 下载安装Docker
    • 1 配置环境变量
  • 4 配置Docker
    • 2 设置Docker资源
    • 3 设置Docker镜像
  • 参考

1 Docker简介

Docker主要解决了软件开发和运行配置的问题,但是由于其功能的强大,也被应用到服务器集群管理中

在以往的软件开发与部署的过程中,软件往往因为计算机环境的不同而导致其在不同的计算机环境上无法正常运行,原因有:

  • 版本环境不兼容
  • 依赖过时

解决方案:
既然环境不同,那我将环境一起打包不就好了。即把整个操作系统打包,这样又会导致软件安装包过大,对于一些常见的应用服务来说十分臃肿,反而阻碍了软件的传播

怎么即能很好的打包应用,又能减少软件安装包的体积?设置一个中间层,因此Docker技术就此诞生。

Docker技术用来解决软件和其依赖环境一起打包的问题

  • 将应用和 bin/libs一起打包,以最小化安装环境
  • 应用在Docker上隔离,相互独立运行,每个应用可以看作一个进程

Docker的原理:Docker直接在内核创建硬件虚拟的操作系统实例,进而在不同系统之间隔离了进程和资源

在这里插入图片描述

2 Docker VS 虚拟机

既然Docker也是创建操作系统的实例,那Docker与虚拟机技术有什么不同?

在这里插入图片描述

相比虚拟机:

  • Docker不需要主机支持虚拟化技术,使用虚拟机必须开启虚拟化技术
  • 虚拟机模拟了真实的环境,因此虚拟机内的操作系统功能更加完全,占用资源更多,并且单独占用一部分空间;而Docker只是在内核上虚拟一个Linux系统,需要的资源只需要程序能够运行即可,因此Docker镜像文件很小,一个Linux系统可能就只有100MB之内。当运行这个系统,可以发现,Docker中系统很多都是功能不全的
  • 虚拟机是完全虚拟化技术,模拟完整的低层硬件环境执行指令。Docker是系统级虚拟化,通过内核来创建操作系统来运行。其中多个容器是隔离的,但是共享操作系统内核
  • 虚拟机配置更加复杂,对于简单应用来说没有必要

1 Docker优势

除了与虚拟机比之外,Docker还具有其他的优势:

  • 将应用和依赖函数库打包后形成镜像,软件的移植方便
  • 容器相当于沙箱机制,相互隔离,运行应用更加安全

但是,Docker需要依赖宿主机的内核

2 Docker用途

提供一次性的环境:软件测试时使用

提供弹性云服务,容器可以随时开关,可以实现动态的扩容和缩容

组件微服务,一台机器可以跑多个服务,在一台主机模拟微服务

3 MacM1 下载安装Docker

官方下载:https://docs.docker.com/desktop/install/mac-install/

下载后拖拽到 applications 文件夹即可

1 配置环境变量

zsh: command not found: docker

配置用户文件

cd
vim .zshrc

添加一下内容

DOCKER_HOME=/Applications/Docker.app/Contents/Resources
PATH=$DOCKER_HOME/bin:$PATH

export PATH

生效配置

source .zshrc

查看Docker版本

> docker -v
Docker version 27.0.3, build 7d4bcd8

4 配置Docker

2 设置Docker资源

在这里插入图片描述

3 设置Docker镜像

登录阿里云镜像服务中心:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

登录后即可获取一个地址

在这里插入图片描述

添加到配置文件中,然后Apply and Restart
在这里插入图片描述
或者手动重启Docker


参考

mac M1 下安装docker 及相关镜像 https://blog.csdn.net/qq_36780538/article/details/118381210

Docker配置阿里云镜像仓库 http://blog.java1234.com/blog/articles/572.html

zsh: command not found: docker https://blog.csdn.net/qq_45296221/article/details/122191265

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

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

相关文章

跨境电商下载工具天猫主图sku图等图片信息

优美的图片是电商卖家吸引顾客、展示商品魅力的关键。高质量的图片能够提升产品吸引力,增强用户信任感,促进购买决策,从而直接影响销量和店铺形象。在视觉营销的时代,优秀的商品图片更是流量转化的利器。 使用图快下载器&#xf…

多租户系统数据隔离方案

目录 前言 数据行 数据表 基于业务场景 基于数据量 数据库 数据源表 动态数据源 前言 多租户系统是一种将多个客户的数据和应用程序分开的系统,每个客户被视为一个独立的租户,互不干扰。实现多租户系统的关键之一是确保数据的隔离。 数据隔离的…

Windows 添加自定义服务实现开机(用户登录之前)自动运行 Python 脚本

实现效果 使用 Python 编写的一个脚本, 希望在 Windows 系统启动时, 用户登录之前就自动运行. 准备工作 首先确保 Python 脚本可以手动正常运行, 演示起见, 编写下面的一个简单的脚本用于在 C 盘根目录中生成一个包含脚本运行时间戳的文本文件. Python 脚本存放在 C:\Python…

RISC-V (五)上下文切换和协作式多任务

任务(task) 所谓的任务就是寄存器的当前值。 -smp后面的数字指的是hart的个数,qemu模拟器最大可以有8个核,此文围绕一个核来讲。 QEMU qemu-system-riscv32 QFLAG -nographic -smp 1 -machine virt -bios none 协作式多任务 …

绘唐科技,绘唐3高级推理创作

绘唐科技,绘唐3高级推理创作绘唐3https://qvfbz6lhqnd.feishu.cn/wiki/D3YLwmIzmivZ7BkDij6coVcbn7W 《绘唐3:高级推理创作》 第一章:谋杀案的启示 在古代绘唐王朝的京都,发生了一起离奇的谋杀案。一位名叫李红的官员&#xff0c…

[Day 44] 區塊鏈與人工智能的聯動應用:理論、技術與實踐

生成对抗网络(Generative Adversarial Networks,GANs)是一种由Ian Goodfellow等人在2014年提出的深度学习模型,广泛用于图像生成、图像超分辨率、图像修复等领域。GAN由一个生成器(Generator)和一个判别器&…

状态同步帧同步

帧同步: 有明确的逻辑帧概念,按照固定的逻辑帧间隔同步帧数据 原理 锁帧:mmo那种游戏,服务器需要收到第k帧所有客户端的指令,就算没有操作也发个空指令上去(相对来说回合制卡牌这类就简单很多&#xff0…

keil编程时,出现”MULTIPLE PUBLIC DEFINITIONS“,extern声明时不能赋值

原因导致重复定义? 有可能是重复定义导致的,这就需要查看报错位置的变量或函数是不是被重复定义了。也可能是一些语法错误导致的错误 语法错误导致的错误原因 使用extern只是为了说明这个变量在别的地方已经定义过,但使用extern引用时&…

NSS [HNCTF 2022 WEEK3]ssssti

NSS [HNCTF 2022 WEEK3]ssssti SSTI类题目(flask)毋庸置疑。 有过滤,我们拿burp先fuzz一波。长度159的都是被过滤的。 过滤了下划线、引号、args、os。 我们利用request对象绕过对下划线和引号的过滤(题目不允许POST方法&#x…

【机器学习】过拟合和欠拟合、高偏差(High Bias)和高方差(High Variance)的区别、过拟合和欠拟合的示例以及图表表示

引言 在机器学习中,过拟合(Overfitting)是指模型在训练数据上学习得太好,以至于它捕捉到了数据中的噪声和随机波动,而不是潜在的真实关系,这导致模型在新的、未见过的数据上表现不佳;欠拟合&…

从零开始:MySQL安装与配置完全指南

前言 哇,终于进入到令人激动的MySQL环节了 它可以说是你编程生涯中的最佳朋友,因为它总是能存储你的数据,从不说:“我忘记了你的信 息”。而且,它是免费的,不像一些昂贵的数据库,它从不让你的…

部署k8s+conatinerd环境

1、准备系统环境 禁用默认休眠(可选) 禁用:systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target启用:sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target …

随机对照临床试验(RCT)与历史对照临床试验(HCT)

临床试验是评估新药、新疗法或新技术有效性和安全性的关键手段。在临床试验中,如何选择对照组是影响试验结果准确性和可信度的重要因素。随机对照临床试验(Randomized Controlled Trial, RCT)和历史对照临床试验(Historical Contr…

苹果电脑玩的游戏有哪些 Mac电脑怎么玩Windows游戏 苹果电脑可以装模拟器玩游戏吗

苹果电脑虽然在游戏生态上可能不及Windows平台那么广泛,但其强大的硬件和macOS系统的优化,足以支持一系列高质量游戏的流畅运行。从策略游戏《文明VI》到动作冒险游戏《黑暗之魂III》,再到解谜游戏《传送门2》和角色扮演游戏《神界&#xff1…

世界顶尖哲学家排行榜前十名,全球公认十大最厉害的思想家之一

标题:智慧与爱心:塑造命运的双翼 正能量因有爱心, 负能量期待智慧…(升命学说) 在这个纷纭复杂的世界中,我们每个人都是自己命运的舵手。正如升命学说所揭示,正能量的培养离不开爱心的滋养&…

Springboot+Vue在线考试系统(优质版)-附项目源码与配套论文

1.1 开发背景 在线考试系统的设计与实现,首先需要对系统进行需求分析,明确系统的功能和性能要求。系统需要具备考试管理、题库管理、在线考试、自动阅卷等功能,同时还需要保证系统的安全性、稳定性和可扩展性。 在系统的架构设计方面&#…

【多线程-从零开始-贰】线程的构造方法和常见属性

Thread 的常见构造方法 在创建线程的时候,是可以给线程起名字的。默认为 Thread-0 、Thread-1… 不会影响线程执行效果,可以更好地进行管理 ThreadGroup -线程组 把多个线程放到一组里,方便统一的设置线程的一些属性不过现在很少用到&#…

【增减序列】

题目 思路 多次修改操作,为降低复杂度,采用差分。 差分数组的性质可以转化这个“所有数都一样”的目标,转化为”b[2] ~ b[n] 均为0“的目标。 为了使得方法数最少,要使得方法中不存在前后矛盾的部分,比如减了又加。…

【SpringIOC容器设计体系分析】

SpringIoc容器架构分析 BeanFactoryHierarchicalBeanFactoryListableBeanFactoryAutowireCapableBeanFactoryAbstractBeanFactoryAbstractAutowireCapableBeanFactoryDefaultListableBeanFactoryApplicationContextConfigurableApplicationContextApplicationContext除BeanFact…

nextjs 实现TodoList网页应用案例

参考: https://nextjs.org/ Next.js 是用于网络的一种 React 框架。一些世界上最大的公司在使用它,它能够借助 React 组件的力量让您创建高质量的网络应用程序。 1、创建项目: 另外注意:pages与app路由存在冲突,如果有…