溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在M1上使用Docker

發(fā)布時間:2021-10-13 10:46:14 來源:億速云 閱讀:479 作者:iii 欄目:編程語言

本篇內(nèi)容主要講解“怎么在M1上使用Docker”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“怎么在M1上使用Docker”吧!

一、官宣

1.1 官宣版

之前 Docker 只支持在 Intel 芯片的 X86 架構(gòu)上運行,Docker 已經(jīng)正式支持蘋果 M1 芯片了,而 M1 芯片是 ARM 架構(gòu)的,所以說 Docker 真的是太強大了,短短幾個月就適配了蘋果最新的系統(tǒng)!

這不就是官宣 Docker 帥哥要追 M1 妹紙么?

悟空到官網(wǎng)上看了下,2021-04-15 發(fā)布的正式版:Docker Desktop 3.3.1,而且可以直接下載。

官網(wǎng)地址:https://docs.docker.com/docker-for-mac/apple-silicon/

怎么在M1上使用Docker

這個 Desktop 包含很多功能:

  • Docker Engine

  • Docker CLI client

  • Docker Compose

  • Notary

  • Kubernetes

  • Credential Helper

另外在 M1 上運行 Docker 還有些條件需要滿足。

1.2 要求

因為 M1 比較前衛(wèi),所以需要安裝 Rosetta 軟件來進行兼容。

必須安裝 Rosetta ,因為某些二進制文件仍是Darwin / AMD64。要從命令行手動安裝Rosetta 2,請運行以下命令:

softwareupdate --install-rosetta

Docker 官方有望在將來的版本中修復(fù)此問題。

1.3 磨合

Docker 和 M1 還有許多地方需要磨合:

  • 并不是所有鏡像都可以用于 M1 的 ARM64 架構(gòu),比如 mysql 鏡像就不適合。但可以通過使用 mariadb 鏡像來解決此問題。

我試了下,確實沒有合適的 mysql 鏡像。

怎么在M1上使用Docker

  • 由于QEMU有時無法運行容器,因此在 Apple Silicon計算機上運行基于Intel的容器可能會導(dǎo)致崩潰。我們建議您在Apple Silicon計算機上運行 ARM64  容器。與基于Intel的容器相比,這些容器還更快并且使用的內(nèi)存更少。

  • ping從容器內(nèi)部到 Internet 的連接無法正常工作。要測試網(wǎng)絡(luò),我們建議使用 curlwget。

  • 當(dāng)TCP流半關(guān)閉時,用戶有時可能會遇到數(shù)據(jù)丟失的情況。

二、手拉手

2.1 左手拉右手

之前在 Linux 環(huán)境安裝 Docker 是通過命令行安裝的,但是在 Mac 上有客戶端可以使用,確實方便很多。安裝 Mac 版的 Docker非常方便,下載完成后的文件名叫做 Docker.dmg。雙擊文件后,彈出如下界面,把 Docker.app 圖標拖到右邊 Appliactions 就可以了,就像左手拉右手

Docker 帥哥成功牽手 M1。

怎么在M1上使用Docker

安裝完成后,在應(yīng)用程序中找到 Docker,雙擊打開就可以了。

怎么在M1上使用Docker

接著就可以看到 Docker 在菜單欄中有顯示。

怎么在M1上使用Docker

2.2 啟動容器

打開的界面,會提示沒有容器正在運行,客戶端提示執(zhí)行以下命令啟動一個新的容器。

docker run -d -p 80:80 docker/getting-started

怎么在M1上使用Docker

我們將命令拷貝到控制臺后運行,如下圖所示:

怎么在M1上使用Docker

然后我們來check 下容器是否創(chuàng)建和啟動成功。通過以下命令來查看 docker 容器的運行狀態(tài)。

docker ps

怎么在M1上使用Docker

我們同樣可以通過 Docker 客戶端來查看容器狀態(tài):容器正在運行中,對應(yīng)的端口號是 80。如下圖所示:

怎么在M1上使用Docker

另外我們也可以看下有哪些鏡像已經(jīng)下載好了,如下圖所示,目前有一個鏡像:docker/getting-started。

怎么在M1上使用Docker

2.3 Intel & Apple

我們打開活動監(jiān)視器,可以看到打開的 docker 進程既有 Apple 架構(gòu)的,也有 Intel 架構(gòu)的,比如桌面 UI 用的是 Intel 架構(gòu)的,但 Docker 核心應(yīng)用程序用的 Apple 架構(gòu),說明雖然有部分用的 Intel 架構(gòu),但核心還是 Apple 架構(gòu),不影響使用。

怎么在M1上使用Docker

再來看下內(nèi)存使用情況,12 個進程,總共占用 430 M 內(nèi)存,說明占用的內(nèi)存并不高,性能還是可以的。

怎么在M1上使用Docker

三、暖男

Docker 客戶端還有一系列人性化的配置,優(yōu)質(zhì)暖男一枚。來看下有什么配置吧。

3.1 通用偏好設(shè)置

Docker 客戶端,有很多人性化的通用設(shè)置。如下圖所示:

怎么在M1上使用Docker

  • 自動檢查更新:默認情況下,Docker Desktop配置為自動檢查較新版本。如果您作為組織的一員安裝了Docker Desktop,則可能無法自己更新 Docker Desktop。在這種情況下,請將您現(xiàn)有的組織升級為團隊計劃,然后清除此復(fù)選框以禁用自動檢查更新。

  • 登錄時啟動 Docker Desktop:打開會話時自動啟動Docker Desktop。

  • 在 Time Machine 備份中包括 VM:選擇此選項以備份 Docker Desktop 虛擬機。默認情況下未勾選此選項。

  • 使用 gRPC FUSE 進行文件共享:清除此復(fù)選框可改用舊版 osxfs 文件共享。

  • 發(fā)送使用情況統(tǒng)計信息:Docker Desktop發(fā)送診斷、崩潰報告和使用情況數(shù)據(jù)。此信息可幫助Docker 改善應(yīng)用程序并進行故障排除。

  • 顯示每周提示:顯示有關(guān)使用Docker的有用建議。

  • 啟動時打開 Docker Desktop 儀表板:啟動 Docker Desktop 時自動打開儀表板。

3.2 資源高級配置

還有些關(guān)于資源的高級配置也非常強大,來瞧一瞧吧。

怎么在M1上使用Docker

  • CPU:默認情況下,Docker Desktop設(shè)置為使用主機上可用處理器數(shù)量的一半。要提高處理能力,請將其設(shè)置為更高的數(shù)字。

  • 內(nèi)存:默認情況下,Docker Desktop設(shè)置為使用 2GB運行時內(nèi)存,該內(nèi)存是從Mac上的總可用內(nèi)存分配的。要增加RAM,請將其設(shè)置為更大的數(shù)字,如果要減少它,請降低數(shù)字。

  • 交換:根據(jù)需要配置交換文件的大小,默認值為1 GB。

  • 磁盤映像大小:指定 磁盤映像的大小

  • 磁盤映像位置:指定Linux卷的容器和映像的存儲位置。

3.3 K8S

Docker Desktop 竟然直接支持 kubernets(K8S) ,太酷了吧!

怎么在M1上使用Docker

Docker Desktop 包含一個可在 Mac 上運行的獨立 Kubernetes 服務(wù)器,因此可以測試在Kubernetes上部署 Docker 的工作負載。要啟用Kubernetes支持并安裝作為Docker容器運行的Kubernetes獨立實例,請選擇Enable Kubernetes。

還有很多非常有用的功能,這里就不一一介紹了,感興趣的可以到官網(wǎng)上查看哦~

Docker 對于 M1 來說,絕對是優(yōu)質(zhì)暖男一枚!實錘了!????

四、約會

說了 Docker 的那么多優(yōu)點,M1 終于愿意和 Docker 談戀愛了,他們第一個約會活動就是實戰(zhàn) Redis

4.1 下載 Redis 鏡像

先讓 Docker 下載個 Redis 鏡像試下:

sudo docker pull redis

怎么在M1上使用Docker

我們可以通過 Docker 客戶端來看下鏡像是否下載成功,如下圖所示,確實下載成功。另外也可以通過命令 docker ps 查看。

怎么在M1上使用Docker

4.2 啟動 Redis

  • 啟動 redis

docker run -d -p 6379:6379 redis

怎么在M1上使用Docker

4.3 連接redis

docker exec -it <容器 id> redis-cli

需要通過 docker ps 找到 redis 容器 id,我的機器上運行的 redis 容器 id 是 17c...,命令中可以簡寫,只要能識別這個容器就可以。

怎么在M1上使用Docker

連接成功后,會進入到 redis 命令行。

4.4 測試 Redis

設(shè)置a=100,返回OK

set a 100

獲取a的值,返回"100"

get a

怎么在M1上使用Docker

說明 docker 在 M1 上 完美運行 Redis。

另外我的開源項目中要用 Elasticsearch 和 Kibana,但是都沒有適配的鏡像,這就很難受了啊!

怎么在M1上使用Docker

到此,相信大家對“怎么在M1上使用Docker”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI