Docker简介 MacM1安装Docker
文章目录
- 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:$PATHexport 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
相关文章:
Docker简介 MacM1安装Docker
文章目录 1 Docker简介2 Docker VS 虚拟机1 Docker优势2 Docker用途 3 MacM1 下载安装Docker1 配置环境变量 4 配置Docker2 设置Docker资源3 设置Docker镜像 参考 1 Docker简介 Docker主要解决了软件开发和运行配置的问题,但是由于其功能的强大,也被应用…...
【Linux】yum软件包管理器(使用、生态、yum源切换)
目录 1.yum-软件包管理器😸1.1yum使用方法1.2什么是yum?😸1.3yum的周边生态1.4yum源切换1.4.1 查看系统本身yum源1.4.2 软件源1.4.3yum源配置 1.yum-软件包管理器 以下操作需要联网的情况下进行 😸1.1yum使用方法 安装软件时由于需…...
群晖NAS安装Video Station结合内网穿透实现远程访问本地存储的影音文件
文章目录 前言1.使用环境要求:2.下载群晖video station:3.公网访问本地群晖video station:4.公网条件下访问本地群晖video station5.公网条件下使用移动端(安卓,ios等系统)访问本地群晖video station 前言 …...
Vue中@click.stop与@click.prevent
Vue中click.stop与click.prevent 一、click.stop 问题:父元素中添加了一个click事件,其下面的子元素中也添加了click事件,此时,我想点击子元素获取子元素的点击事件,但却触发的是父元素的事件: <view …...
沐风老师3DMax对象随机颜色插件使用方法
3DMax对象随机颜色插件使用教程 3DMax对象颜色插件,是一个功能强大的脚本,它通过提供高级工具来操纵场景中的对象颜色、材质和实例,从而增强了3D设计师和艺术家的工作流程。这个多功能脚本提供了一系列功能,旨在简化对象、组和实例的着色过程。 3DMAX对象颜色插件主要具有…...
安卓将子模块打aar包,并将其远程依赖打包进去
生成 AAR 包 在Android Studio Terminal 窗口输入以下命令: ./gradlew :monitor:assembleRelease把 monitor 换成你子模块的名称,不出意外的话 就会在下面目录生成相应aar文件 注意:如果你的Java运行环境是Java 8 则在老一点的AS上 可以运…...
python 提取视频中的音频 采用ffmpeg-python 库
要使用 ffmpeg-python 库从视频文件中提取音频,首先需要确保你的系统中已经安装了 FFmpeg 和 ffmpeg-python 库。以下是详细的步骤: 步骤 1: 安装 FFmpeg 确保你的系统中已经安装了 FFmpeg。如果你使用的是 CentOS,可以参照前面的回答来安装 …...
区块链的搭建和运维4
区块链的搭建和运维4 (1) 搭建基于MySQL分布式存储的区块链 1.构建单群组网络节点 使用开发部署工具构建单群组网络节点,命令如下: bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,85452. 启动 MySQL 并设置账户密码 输入如下命令,…...
数据驱动决策:内容数据产品经理的成长与价值
数据驱动决策:内容数据产品经理的成长与价值 内容数据产品经理以数据为媒介,在用户与决策之间搭建桥梁,通过理解分析模型和用户决策路径,设计产品以促成更多决策产出,创造用户价值。例如,在衡量数据产品经理…...
pyinstaller 打包python 提示 object has no attribute
参考: 错误:gi.repository.BlockDev’ object has no attribute plugin_specs_from_names 查看包路径 rpm -ql python3-blockdev/usr/lib64/python3.7/site-packages/gi/overrides/BlockDev.py /usr/lib64/python3.7/site-packages/gi/overrides/__pyca…...
ubuntu20.04搭建RUST开发环境并与C语言交互
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 ubuntu20.04搭建RUST开发环境并与C语言交互 前言开战一、确认环境版本二、环境搭建三、hello world!四、跟c语言进行交互1.rust调用C静态库2.C调用rust库 总结参考…...
C语言 ——— 学习、使用memmove函数 并模拟实现
目录 memmvoe函数的功能 学习memmove函数编辑 模拟实现memmove函数 memmvoe函数的功能 memmvoe函数的功能类似于memcpy函数,都是内存拷贝,唯一的区别是memcpy函数不能成功拷贝原数据,而memmvoe函数可以 举例来说: [1, 2, 3…...
职场中必须明白的三个道理,不明白无出头之日,你越早知道越好
职场中有很多优秀的人才,他们工作能力出众,为人处事也非常的善良,但是有时候,这样的优点反而成了他们在职场中被欺负的原因,因为他们太善良,很容易被别人利用,为了自己的利益,有些人…...
做webserver项目的一些问题和思路总结
1.webserver是做什么的?这个项目最后想实现什么? 网络服务器,是一个处理HTTP请求并返回HTTP响应的程序。(socket实现的是网络编程,不一定是HTTP,还有其他协议,具体协议由端口来确定)…...
大数据-70 Kafka 高级特性 物理存储 日志存储 日志清理: 日志删除与日志压缩
点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…...
基于S7-200 SMART实现PID控制仿真实验
关键字:Matalb;S7-200 SMART;Modbus TCP;PID控制 系列文章目录 基于S7-200 SMART实现一键启停 顺序功能图——(二)设计机组延时关机程序 基于S7-200 SMART实现Modbus TCP通信 基于S7-200 SMART实现MATLAB写…...
社交及时通讯平台完整版源码,uniapp技术,可打包成app
源码简介: 全原生,从底层开始结构就完全不一样,mongodb的库,uniapp混编手端,二开难度要比视酷或者酷信容易很多。全开源,带开发文档。前端用的是uniapp技术,所以是多端合一,可以做h…...
TensorFlow和Pytorch是什么?干什么用的?
TensorFlow和Pytorch都是机器学习框架,允许用户自定义开发机器学习模型(利用已经实现好的神经网络层)。 1. 加载和预处理数据 加载数据:使用合适的库(如 Pandas、Numpy 或 TensorFlow 的数据处理 API)从文…...
采购人可否自行选择采购方式?|数智化招采系统支持多种采购方式
采购人是否有权自行确定采购方式,主要取决于采购项目的性质和规模,特别是是否达到公开招标的数额标准。 一、达到公开招标数额标准以上的项目 《中华人民共和国政府采购法实施条例》第二十三条规定:“采购人采购公开招标数额标准以上的货物…...
ubuntu dde 改为中文
在 Ubuntu Deepin Desktop Environment (DDE) 中,如果已经将系统语言设置为中文,但系统菜单仍然显示英文,可以尝试以下步骤解决: 检查语言设置:确保你的系统语言已经正确设置为中文。你可以在“系统设置”->“区域和…...
Anthropic公司深度研究报告:构建安全可控的通用人工智能从OpenAI出走的核心团队,以Constitutional AI为技术基石,正在以惊人的速度重塑企业AI市场格局
Anthropic深度研究报告:从OpenAI叛军到AI安全定义者 一、公司概况与发展历程 Anthropic是一家总部位于美国旧金山的人工智能公司,由达里奥阿莫迪(Dario Amodei)和妹妹丹妮拉阿莫迪(Daniela Amodei)于2021年2月创立。公司定位为“人工智能安全和研究公司”,致力于构建可…...
UI For Docker完整贡献指南:10个步骤成为开源社区达人
UI For Docker完整贡献指南:10个步骤成为开源社区达人 【免费下载链接】ui-for-docker A web interface for Docker, formerly known as DockerUI. This repo is not maintained 项目地址: https://gitcode.com/gh_mirrors/ui/ui-for-docker UI For Docker是…...
MoCo训练完全指南:从入门到精通的10个常见错误与解决方案
MoCo训练完全指南:从入门到精通的10个常见错误与解决方案 【免费下载链接】moco PyTorch implementation of MoCo: https://arxiv.org/abs/1911.05722 项目地址: https://gitcode.com/gh_mirrors/mo/moco MoCo(Momentum Contrast)是自…...
PPTist终极指南:如何用免费在线工具10分钟制作专业级PPT
PPTist终极指南:如何用免费在线工具10分钟制作专业级PPT 【免费下载链接】PPTist PowerPoint-ist(/pauəpɔintist/), An online presentation application that replicates most of the commonly used features of MS PowerPoint, allowing …...
Limine协议参考实现:标准引导接口的设计理念与实现细节
Limine协议参考实现:标准引导接口的设计理念与实现细节 【免费下载链接】limine Modern, advanced, portable, multiprotocol bootloader and boot manager. 项目地址: https://gitcode.com/gh_mirrors/li/limine Limine是一款现代化、先进的可移植多协议引导…...
让 DDL 源码真正可读:SAP ADT 里 DDL Formatter 的配置逻辑、团队协作方式与项目实践
在很多 ABAP 项目里,开发人员会把注意力集中在语义正确、激活成功、性能可接受这些层面,却容易低估一件事:DDL 源码的可读性,直接影响建模质量、代码审查效率,以及团队协作时的认知成本。CDS 语句一旦开始出现较长的元素列表、复杂的 Boolean expression、多层 JOIN、多个…...
简单实用:Yi-Coder-1.5B代码生成工具快速入门
简单实用:Yi-Coder-1.5B代码生成工具快速入门 1. 为什么选择Yi-Coder-1.5B 如果你正在寻找一个轻量级但功能强大的代码助手,Yi-Coder-1.5B值得考虑。这个仅有15亿参数的模型在编程任务上的表现令人惊喜,特别适合日常开发使用。 Yi-Coder-1…...
Cuvil × PyTorch推理部署:从模型量化到GPU内核融合,90%开发者忽略的4个关键编译开关
第一章:Cuvil PyTorch推理部署全景概览Cuvil 是一个面向边缘与云协同场景的轻量级模型推理编译与运行时框架,专为优化 PyTorch 模型在异构硬件(如 ARM CPU、NPU、GPU)上的低延迟、高吞吐部署而设计。它通过前端模型解析、中间表示…...
告别熬夜肝论文!揭秘百考通AI如何用“双降”黑科技,搞定毕业季全流程难题
摘要:毕业季临近,论文写作如同横在学子面前的“大山”——查重率、AI痕迹、格式规范、文献梳理、数据分析……每一项都令人头大。本文深度解析一款专注于学术科研的智能辅助平台——百考通AI,看它如何运用先进的自然语言处理与深度学习技术&a…...
AI设计新利器!我外卖都没到,你方案图就出来了!
凌晨两点,设计部灯火通明。 小王盯着屏幕上改了第18版的方案,揉了揉酸涩的眼睛。甲方上午刚推翻上周确定的概念,明天就要看新方案。市场部的同事在旁边催:“客户说再不出图就要换供应商了。”而结构组的同事还在等着方案定稿才能…...
