ToB企服应用市场:ToB评测及商务社交产业平台

标题: Mac OS下Docker的安装与设置 [打印本页]

作者: 火影    时间: 2024-6-21 13:26
标题: Mac OS下Docker的安装与设置
Docker Desktop 下载

Docker 的安装文件可以通常docker.com官方网站直接下载,官方提供了差别操作系统版本的Docker安装文件。点击下边的地址可进入下载页面
链接: Download Docker Desktop

如上图所示,Docker 提供了4个版本的Docker Desktop, 此中Mac版本必要各人根据本身的MacBook的芯片举行选择。
开辟职员的Docker一样寻常

本人是一名服务端开辟职员,Docker在开辟的一样寻常工作中饰演了重要的脚色,假如你还没有在开辟中利用过Docker,强列建议各人利用,由于在云原生应用期间,容器是各人必须要学会利用的一个工具。

  1. /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
  2. brew install redis
复制代码

以上就是一些常见的Docker利用场景,我们可以利用Docker来快速且轻松的解决,我们只必要安装好Docker Desktop后,执行Docker pull 命令下载相应的镜像,然后执行docker run 命启来启动相应容器就可以了。
以mysql 为例,假如想下载最新版本的mysql,利用如下命令
  1. docker pull mysql
复制代码
假如想下载某一个版本的mysql,利用如下命令
  1. docker pull mysql
  2. :5.7
复制代码
关键在于,可以同时运行两个版本的mysql 服务,利用docker大大的简化了差别版本必要同时存在的问题。
怎样精确修改Docker的设置

Mac OS下Docker Desktop的默认设置

通常来讲安装好后,也不必要举行什么设置,直接启动Docker Desktop 即可。但本人的MacBook 碰盘空间有限,而且在安装OS时,还特意将磁盘划分为了系统盘和数据盘,此中给到系统盘的空间较少。默认情况下,假如不在修改设置,我们所下载的镜像,以及为容器创建的长期化卷都是保存在系统盘底下,如图所示:

各人可以在安装完DockerDesktop后去检查一下这个目录:
   ~/Library/Containers/com.docker.docker/Data/vms/0
  在data目录下你会找到一个Docker.raw的文件,当我们pull image时我们可以看到该文件的访问时间会产生厘革,文件默认巨细约64GB(现实为60GB多一点,在终端下查看,可以看到该文件巨细为63999836160 字节, 利用 ls -lh 查看,则显示约为60GB。
   这里补充一个关于在 Mac OS沙盒机制的一点小知识,在MacOS下,~/Library/Containers 是一个存储 macOS 沙盒应用程序容器的目录。沙盒是一种安全机制,可限定应用程序对系统的访问。每个应用程序都在容器中运行,该容器包含应用程序的代码、数据和设置。
~/Library/Containers 目录中的每个文件夹都代表一个应用程序容器。文件夹的名称是应用程序的唯一标识符。比方,com.apple.Safari 是 Safari 应用程序的容器。
  Docker Desktop修改Disk Image Location无效

以是我们安装的Docker Desktop也要遵循这个规则。我们进入Docker Desktop 上设置页面,可以对列如CPU, 磁盘空间等的调整,如下图所示:

这里我们可以看到:Disk image location这个设置:
各人可以检查一下默认设置是什么,是不是就是下面这个路径?
~/Library/Containers/com.docker.docker/Data/vms/0/data/xxxx/DockerDesktop
虽然我们看到这个地方可以修改Disk image location的值,但总会遇到很神奇的事情,纵然我们在这里修改成了新的目录,并且重启了DockerEngine,但我们在新的目录下并没有发现任何文件,我实验了很多次,都是同样的结果,各人可以实验一下,看看是不是也会如此神奇。不知道这是不是Docker Desktop的一个小小的BUG.
而且当我们退出DockerDesktop应用,然后重启应用并进入设置界面,我们会发现DockerImageLocation的值还原了
怎样才是精确的姿势?

我们追念一下MacOS的沙箱机制,在~/Library目录下,存在这样一个目录:Group Containers,我们可以找到group.com.docker这个目录,底下有一个settings.json文件。

我们通过vim编辑该文件,找到 dataFolder 这一个key,然后修改目录到我们指定的目录就可以了。以下两点必要注意一下,:

  1. "dataFolder": "/Volumes/Data/01_HOME/DockerDesktop",
复制代码
重启DockerDesktop后,发现Disk Image Location的值已经酿成了我们指定的目录,当我们再pull新的镜像时,数据就会保存到新的位置了,这样我们就节省了不少的名贵的系统盘空间。
还有哪些坑


  1. docker run -d -p 8081:8081 --name nexus -v /Volumes/Data/01_HOME/Nexus:/nexus-data sonatype/nexus3
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4