草庐IT

001-使用docker desktop for mac

s_x123456 2023-04-04 原文

001-使用docker desktop for mac 

 

一、安装

1 下载docker的安装文件,可以用命令安装,也可以直接下载安装
macOS 我们可以使用 Homebrew 来安装 Docker。
Homebrew 的 Cask 已经支持 Docker for Mac,因此可以很方便的使用 Homebrew Cask 来进行安装:
$ brew cask install docker

手动下载地址为https://download.docker.com/mac/stable/Docker.dmg

下载好后安装起来。。

2 查看安装的版本
docker --version
Docker version 17.09.1-ce, build 19e2cf6

3 镜像加速
国内网络问题,后续拉取 Docker 镜像十分缓慢,可以需要配置加速器来解决 使用的是网易的镜像地址: http://hub-mirror.c.163.com。
在任务栏点击 Docker for mac 应用图标 -> Perferences… -> Daemon -> Registry mirrors。在列表中填写加速器地址即可。修改完成之后,点击 Apply & Restart 按钮,Docker 就会重启并应用配置的镜像地址了。

4我们可以通过 docker info 来查看是否配置成功。
$ docker info

Registry Mirrors:
 http://hub-mirror.c.163.com
Live Restore Enabled: false

5 加速配置查看
localhost:~ chenhuia$ docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 18.09.2
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 9754871865f7fe2f4e74d43e2fc7ccd237edcbce
runc version: 09c8266bf2fcf9519a651b04ae54c967b9ab86ec
init version: fec3683
Security Options:
seccomp
Profile: default
Kernel Version: 4.9.125-linuxkit
Operating System: Docker for Mac
OSType: linux
Architecture: x86_64
CPUs: 6
Total Memory: 1.952GiB
Name: linuxkit-025000000001
ID: 6CRM:S36D:YUVK:SVGN:FWRK:FA77:VEHJ:KPYN:WLBV:V73F:HV7S:OJKS
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
File Descriptors: 24
Goroutines: 50
System Time: 2019-07-30T04:27:16.869429797Z
EventsListeners: 2
HTTP Proxy: gateway.docker.internal:3128
HTTPS Proxy: gateway.docker.internal:3129
Registry:  https://index.docker.io/v1/
Labels:
Experimental: true
Insecure Registries:
127.0.0.0/8
Registry Mirrors:
 http://hub-mirror.c.163.com/
Live Restore Enabled: false
Product License: Community Engine
localhost:~ chenhuia$ docker pull redis
Using default tag: latest
latest: Pulling from library/redis
f5d23c7fed46: Pull complete
a4a5c04dafc1: Pull complete
605bafc84bc9: Pull complete
f07a4e35cd96: Pull complete
17944e5e3eb7: Pull complete
6f875a8605e0: Pull complete
Digest: sha256:8888f6cd2509062a377e903e17777b4a6d59c92769f6807f034fa345da9eebcf
Status: Downloaded newer image for redis:latest

{
  "builder": {
    "gc": {
      "enabled": true,
      "defaultKeepStorage": "20GB"
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "registry-mirrors":[
    "http://hub-mirror.c.163.com"
  ]
}

6 查看images

localhost:~ chenhuia$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
redis latest 598a6f110d01 2 weeks ago 118MB

7 启动redis
localhost:~ chenhuia$ docker run -d -p 6379:6379 --name myredis redis
65d42dadd8f83e4036627d39bdda96ffe73862862571e287296057d1a0c236d9
localhost:~ chenhuia$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
65d42dadd8f8 redis “docker-entrypoint.s…” 3 seconds ago Up 3 seconds 0.0.0.0:6379->6379/tcp myredis

8 连接redis
redis desktop manager 输入ip 端口直接连接

9补充 redis常用命令

命令 用途
set key value 设置 key 的值
get key 获取 key 的值
exists key 查看此 key 是否存在
keys * 查看所有的 key
flushall
 

二、介绍docker desktop

Docker Desktop for Mac是一款适用于MacOS的应用程序,用于构建和共享容器化应用程序和微服务,该软件不依赖于任何语言、框架或包装系统,消除了为构建现代应用程序设置复杂环境的麻烦,软件支持Azure 容器实例和 Amazon Elastic Container Service,它易于使用,可以帮助您快速安全地评估软件,提高了生产力。需要的朋友不要错过。

软件:Docker Desktop for Mac(开源容器化桌面开发工具)v4.11.0免费版

三、废话

Docker Desktop for Mac最新的4.6版本,加入了许多更新,而其中最值得注意的是,其采用新的文件共享技术Virtiofs,而该实例能够明显提高macOS用户的文件共享性能,另外,新版本还改进了macOS主机和Docker虚拟机间文件同步的方式,而官方提到,这些改进使得文件操作时间大幅减少达98%。

在使用Symfony或React等技术时,常见开发人员的工作流程,主要编辑位于macOS主机上的程序代码,同时在Docker容器执行应用程序,通过使用Docker存储磁盘(Volume),在主机和容器之间共享程序代码,官方提到,这样的流程让开发人员保存编辑后的源码,就可以立即在浏览器看到结果。也就是说,主机系统上的文件更改,必需要能可靠地传播到容器文件系统,才能提供开发人员更好生产力和用户体验。

主机和容器间共享应用程序源码的性能非常重要,因为像是当开发人员使用Symfony PHP框架,在编辑源码后,要在浏览器重新加载页面,容器中的网页服务器必须重新读取存储在主机上的大量PHP文件,官方表示,现在的相依项目管理系统,动辄会在项目带入数万到数十万的文件,而这将使得主机和容器同步性能不佳。

近期开发团队在Docker Desktop for Mac的更新,包括使用Virtiofs文件共享技术,能有效缓解这个问题,并对文件系统带来巨大的性能改进。根据早期预览版的实际试验资料,284 MB的MySQL导入时间,从3分16秒缩短到了18秒,而大型程序代码库执行composer install的时间,从1分钟27秒缩短87%,仅剩11秒,还有启动单体Typescript应用程序的时间缩短80%,从1分30秒缩短至18秒。

要激活文件系统加速功能,用户需要在Apple Silicon使用macOS 12.2以上版本,或是英特尔macOS 12.3以上版本,并且使用Docker Desktop 4.6,在设置中的实验性功能,激活新的虚拟化框架以及VirtioFS加速目录共享,重新启动应用程序即可。


 

有关001-使用docker desktop for mac的更多相关文章

  1. ruby - 如何使用 Nokogiri 的 xpath 和 at_xpath 方法 - 2

    我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div

  2. ruby - 使用 RubyZip 生成 ZIP 文件时设置压缩级别 - 2

    我有一个Ruby程序,它使用rubyzip压缩XML文件的目录树。gem。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。我在rubyzipdocumentation中找不到一种为创建的ZIP文件指定压缩级别的方法。有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的Ruby库? 最佳答案 这是我通过查看ruby​​zip内部创建的代码。level=Zlib::BEST_COMPRESSIONZip::ZipOutputStream.open(zip_file)do|zip|Dir.glob("**/*")d

  3. ruby - 为什么我可以在 Ruby 中使用 Object#send 访问私有(private)/ protected 方法? - 2

    类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc

  4. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  5. ruby - 在 Ruby 中使用匿名模块 - 2

    假设我做了一个模块如下:m=Module.newdoclassCendend三个问题:除了对m的引用之外,还有什么方法可以访问C和m中的其他内容?我可以在创建匿名模块后为其命名吗(就像我输入“module...”一样)?如何在使用完匿名模块后将其删除,使其定义的常量不再存在? 最佳答案 三个答案:是的,使用ObjectSpace.此代码使c引用你的类(class)C不引用m:c=nilObjectSpace.each_object{|obj|c=objif(Class===objandobj.name=~/::C$/)}当然这取决于

  6. ruby - 使用 ruby​​ 和 savon 的 SOAP 服务 - 2

    我正在尝试使用ruby​​和Savon来使用网络服务。测试服务为http://www.webservicex.net/WS/WSDetails.aspx?WSID=9&CATID=2require'rubygems'require'savon'client=Savon::Client.new"http://www.webservicex.net/stockquote.asmx?WSDL"client.get_quotedo|soap|soap.body={:symbol=>"AAPL"}end返回SOAP异常。检查soap信封,在我看来soap请求没有正确的命名空间。任何人都可以建议我

  7. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  8. ruby-on-rails - 'compass watch' 是如何工作的/它是如何与 rails 一起使用的 - 2

    我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t

  9. ruby - 使用 ruby​​ 将 HTML 转换为纯文本并维护结构/格式 - 2

    我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h

  10. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

随机推荐