您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么在M1上使用Docker”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么在M1上使用Docker”吧!
之前 Docker 只支持在 Intel 芯片的 X86 架構上運行,Docker 已經正式支持蘋果 M1 芯片了,而 M1 芯片是 ARM 架構的,所以說 Docker 真的是太強大了,短短幾個月就適配了蘋果最新的系統!
這不就是官宣 Docker 帥哥要追 M1 妹紙么?
悟空到官網上看了下,2021-04-15 發布的正式版:Docker Desktop 3.3.1,而且可以直接下載。
官網地址:https://docs.docker.com/docker-for-mac/apple-silicon/
這個 Desktop 包含很多功能:
Docker Engine
Docker CLI client
Docker Compose
Notary
Kubernetes
Credential Helper
另外在 M1 上運行 Docker 還有些條件需要滿足。
因為 M1 比較前衛,所以需要安裝 Rosetta 軟件來進行兼容。
必須安裝 Rosetta ,因為某些二進制文件仍是Darwin / AMD64。要從命令行手動安裝Rosetta 2,請運行以下命令:
softwareupdate --install-rosetta
Docker 官方有望在將來的版本中修復此問題。
Docker 和 M1 還有許多地方需要磨合:
并不是所有鏡像都可以用于 M1 的 ARM64 架構,比如 mysql 鏡像就不適合。但可以通過使用 mariadb 鏡像來解決此問題。
我試了下,確實沒有合適的 mysql 鏡像。
由于QEMU有時無法運行容器,因此在 Apple Silicon計算機上運行基于Intel的容器可能會導致崩潰。我們建議您在Apple Silicon計算機上運行 ARM64 容器。與基于Intel的容器相比,這些容器還更快并且使用的內存更少。
ping
從容器內部到 Internet 的連接無法正常工作。要測試網絡,我們建議使用 curl
或 wget
。
當TCP流半關閉時,用戶有時可能會遇到數據丟失的情況。
之前在 Linux 環境安裝 Docker 是通過命令行安裝的,但是在 Mac 上有客戶端可以使用,確實方便很多。安裝 Mac 版的 Docker非常方便,下載完成后的文件名叫做 Docker.dmg。雙擊文件后,彈出如下界面,把 Docker.app 圖標拖到右邊 Appliactions 就可以了,就像左手拉右手
。
Docker 帥哥成功牽手 M1。
安裝完成后,在應用程序中找到 Docker,雙擊打開就可以了。
接著就可以看到 Docker 在菜單欄中有顯示。
打開的界面,會提示沒有容器正在運行,客戶端提示執行以下命令啟動一個新的容器。
docker run -d -p 80:80 docker/getting-started
我們將命令拷貝到控制臺后運行,如下圖所示:
然后我們來check 下容器是否創建和啟動成功。通過以下命令來查看 docker 容器的運行狀態。
docker ps
我們同樣可以通過 Docker 客戶端來查看容器狀態:容器正在運行中,對應的端口號是 80。如下圖所示:
另外我們也可以看下有哪些鏡像已經下載好了,如下圖所示,目前有一個鏡像:docker/getting-started。
我們打開活動監視器,可以看到打開的 docker 進程既有 Apple 架構的,也有 Intel 架構的,比如桌面 UI 用的是 Intel 架構的,但 Docker 核心應用程序用的 Apple 架構,說明雖然有部分用的 Intel 架構,但核心還是 Apple 架構,不影響使用。
再來看下內存使用情況,12 個進程,總共占用 430 M 內存,說明占用的內存并不高,性能還是可以的。
Docker 客戶端還有一系列人性化的配置,優質暖男一枚。來看下有什么配置吧。
Docker 客戶端,有很多人性化的通用設置。如下圖所示:
自動檢查更新:默認情況下,Docker Desktop配置為自動檢查較新版本。如果您作為組織的一員安裝了Docker Desktop,則可能無法自己更新 Docker Desktop。在這種情況下,請將您現有的組織升級為團隊計劃,然后清除此復選框以禁用自動檢查更新。
登錄時啟動 Docker Desktop:打開會話時自動啟動Docker Desktop。
在 Time Machine 備份中包括 VM:選擇此選項以備份 Docker Desktop 虛擬機。默認情況下未勾選此選項。
使用 gRPC FUSE 進行文件共享:清除此復選框可改用舊版 osxfs 文件共享。
發送使用情況統計信息:Docker Desktop發送診斷、崩潰報告和使用情況數據。此信息可幫助Docker 改善應用程序并進行故障排除。
顯示每周提示:顯示有關使用Docker的有用建議。
啟動時打開 Docker Desktop 儀表板:啟動 Docker Desktop 時自動打開儀表板。
還有些關于資源的高級配置也非常強大,來瞧一瞧吧。
CPU:默認情況下,Docker Desktop設置為使用主機上可用處理器數量的一半。要提高處理能力,請將其設置為更高的數字。
內存:默認情況下,Docker Desktop設置為使用 2
GB運行時內存,該內存是從Mac上的總可用內存分配的。要增加RAM,請將其設置為更大的數字,如果要減少它,請降低數字。
交換:根據需要配置交換文件的大小,默認值為1 GB。
磁盤映像大小:指定 磁盤映像的大小。
磁盤映像位置:指定Linux卷的容器和映像的存儲位置。
Docker Desktop 竟然直接支持 kubernets(K8S) ,太酷了吧!
Docker Desktop 包含一個可在 Mac 上運行的獨立 Kubernetes 服務器,因此可以測試在Kubernetes上部署 Docker 的工作負載。要啟用Kubernetes支持并安裝作為Docker容器運行的Kubernetes獨立實例,請選擇Enable Kubernetes。
還有很多非常有用的功能,這里就不一一介紹了,感興趣的可以到官網上查看哦~
Docker 對于 M1 來說,絕對是優質暖男一枚!實錘了!????
說了 Docker 的那么多優點,M1 終于愿意和 Docker 談戀愛了,他們第一個約會活動
就是實戰 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 命令行。
設置a=100,返回OK
set a 100
獲取a的值,返回"100"
get a
說明 docker 在 M1 上 完美運行 Redis。
另外我的開源項目中要用 Elasticsearch 和 Kibana,但是都沒有適配的鏡像,這就很難受了啊!
到此,相信大家對“怎么在M1上使用Docker”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。