您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“怎么在M1上使用Docker”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“怎么在M1上使用Docker”吧!
之前 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/
這個 Desktop 包含很多功能:
Docker Engine
Docker CLI client
Docker Compose
Notary
Kubernetes
Credential Helper
另外在 M1 上運行 Docker 還有些條件需要滿足。
因為 M1 比較前衛(wèi),所以需要安裝 Rosetta 軟件來進行兼容。
必須安裝 Rosetta ,因為某些二進制文件仍是Darwin / AMD64。要從命令行手動安裝Rosetta 2,請運行以下命令:
softwareupdate --install-rosetta
Docker 官方有望在將來的版本中修復(fù)此問題。
Docker 和 M1 還有許多地方需要磨合:
并不是所有鏡像都可以用于 M1 的 ARM64 架構(gòu),比如 mysql 鏡像就不適合。但可以通過使用 mariadb 鏡像來解決此問題。
我試了下,確實沒有合適的 mysql 鏡像。
由于QEMU有時無法運行容器,因此在 Apple Silicon計算機上運行基于Intel的容器可能會導(dǎo)致崩潰。我們建議您在Apple Silicon計算機上運行 ARM64 容器。與基于Intel的容器相比,這些容器還更快并且使用的內(nèi)存更少。
ping
從容器內(nèi)部到 Internet 的連接無法正常工作。要測試網(wǎng)絡(luò),我們建議使用 curl
或 wget
。
當(dāng)TCP流半關(guān)閉時,用戶有時可能會遇到數(shù)據(jù)丟失的情況。
之前在 Linux 環(huán)境安裝 Docker 是通過命令行安裝的,但是在 Mac 上有客戶端可以使用,確實方便很多。安裝 Mac 版的 Docker非常方便,下載完成后的文件名叫做 Docker.dmg。雙擊文件后,彈出如下界面,把 Docker.app 圖標拖到右邊 Appliactions 就可以了,就像左手拉右手
。
Docker 帥哥成功牽手 M1。
安裝完成后,在應(yīng)用程序中找到 Docker,雙擊打開就可以了。
接著就可以看到 Docker 在菜單欄中有顯示。
打開的界面,會提示沒有容器正在運行,客戶端提示執(zhí)行以下命令啟動一個新的容器。
docker run -d -p 80:80 docker/getting-started
我們將命令拷貝到控制臺后運行,如下圖所示:
然后我們來check 下容器是否創(chuàng)建和啟動成功。通過以下命令來查看 docker 容器的運行狀態(tài)。
docker ps
我們同樣可以通過 Docker 客戶端來查看容器狀態(tài):容器正在運行中,對應(yīng)的端口號是 80。如下圖所示:
另外我們也可以看下有哪些鏡像已經(jīng)下載好了,如下圖所示,目前有一個鏡像:docker/getting-started。
我們打開活動監(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),不影響使用。
再來看下內(nèi)存使用情況,12 個進程,總共占用 430 M 內(nèi)存,說明占用的內(nèi)存并不高,性能還是可以的。
Docker 客戶端還有一系列人性化的配置,優(yōu)質(zhì)暖男一枚。來看下有什么配置吧。
Docker 客戶端,有很多人性化的通用設(shè)置。如下圖所示:
自動檢查更新:默認情況下,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 時自動打開儀表板。
還有些關(guān)于資源的高級配置也非常強大,來瞧一瞧吧。
CPU:默認情況下,Docker Desktop設(shè)置為使用主機上可用處理器數(shù)量的一半。要提高處理能力,請將其設(shè)置為更高的數(shù)字。
內(nèi)存:默認情況下,Docker Desktop設(shè)置為使用 2
GB運行時內(nèi)存,該內(nèi)存是從Mac上的總可用內(nèi)存分配的。要增加RAM,請將其設(shè)置為更大的數(shù)字,如果要減少它,請降低數(shù)字。
交換:根據(jù)需要配置交換文件的大小,默認值為1 GB。
磁盤映像大小:指定 磁盤映像的大小。
磁盤映像位置:指定Linux卷的容器和映像的存儲位置。
Docker Desktop 竟然直接支持 kubernets(K8S) ,太酷了吧!
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。
先讓 Docker 下載個 Redis 鏡像試下:
sudo docker pull redis
我們可以通過 Docker 客戶端來看下鏡像是否下載成功,如下圖所示,確實下載成功。另外也可以通過命令 docker ps 查看。
啟動 redis
docker run -d -p 6379:6379 redis
docker exec -it <容器 id> redis-cli
需要通過 docker ps 找到 redis 容器 id,我的機器上運行的 redis 容器 id 是 17c...,命令中可以簡寫,只要能識別這個容器就可以。
連接成功后,會進入到 redis 命令行。
設(shè)置a=100,返回OK
set a 100
獲取a的值,返回"100"
get a
說明 docker 在 M1 上 完美運行 Redis。
另外我的開源項目中要用 Elasticsearch 和 Kibana,但是都沒有適配的鏡像,這就很難受了啊!
到此,相信大家對“怎么在M1上使用Docker”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(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)容。