Docker简介 MacM1安装Docker

文章目录

  • [1 Docker简介](#1 Docker简介)
  • [2 Docker VS 虚拟机](#2 Docker VS 虚拟机)
    • [1 Docker优势](#1 Docker优势)
    • [2 Docker用途](#2 Docker用途)
  • [3 MacM1 下载安装Docker](#3 MacM1 下载安装Docker)
    • [1 配置环境变量](#1 配置环境变量)
  • [4 配置Docker](#4 配置Docker)
    • [2 设置Docker资源](#2 设置Docker资源)
    • [3 设置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 配置环境变量

bash 复制代码
zsh: command not found: docker

配置用户文件

shell 复制代码
cd
vim .zshrc

添加一下内容

shell 复制代码
DOCKER_HOME=/Applications/Docker.app/Contents/Resources
PATH=$DOCKER_HOME/bin:$PATH

export PATH

生效配置

shell 复制代码
source .zshrc

查看Docker版本

shell 复制代码
> 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

相关推荐
元Y亨H4 小时前
基于 Jenkins + Docker 的前端(Vben Admin)CI/CD 踩坑
docker·jenkins
白兰地空瓶5 小时前
项目要上线了,我连夜学完 Docker:从底层原理到容器化部署全记录
docker·全栈
fei_sun7 小时前
RIB、FIB、MAC 、ARP 表
服务器·网络·macos
Knight_AL7 小时前
PostgreSQL Docker 数据库备份:pg_dump 与 SQL 格式备份的区别
数据库·docker·postgresql
灯澜忆梦8 小时前
【docker】#1 | Docker 初识
运维·docker·容器
骑着蜗牛撵大象3279 小时前
穿越 Docker 内核迷雾:镜像分层的叠加态与卷挂载的空间穿梭
运维·docker·容器·联合文件系统·卷挂载·镜像分层·存储驱动
goehou9 小时前
AI 应用上线实战:从本地脚本到 Docker 容器化(密钥、健康检查、镜像瘦身)
docker·ai·llm·部署·教程·容器化
吴声子夜歌9 小时前
Docker入门与实战——Docker数据管理
docker·容器
程序员老赵10 小时前
Docker 部署 TeslaMate:轻松搭建特斯拉车辆数据记录平台
docker·容器·开源
java_logo10 小时前
Docker 部署 Emby:轻松搭建家庭影音媒体服务器
服务器·docker·nas·emby·飞牛nas·群晖nas·轩辕镜像