Docker多架構鏡像是指一種可以在多個不同平臺上運行的鏡像,通常情況下,為了保證容器在不同平臺上的兼容性,需要為每個平臺都構建一個相應的鏡像,這會給開發者帶來不小的負擔。為了解決這個問題,Docker從17.05版本開始引入了多架構鏡像。
多架構鏡像實現了單一鏡像可以向不同架構提供不同的二進制文件,這使得開發者可以只需構建一次鏡像,就可以在多個平臺上使用它了。
FROM --platform=linux/amd64 node:8.11.1
# 構建 amd64 平臺的 node 鏡像
RUN npm install
CMD ["node","app.js"]
FROM --platform=linux/ppc64le node:8.11.1
# 構建 ppc64le 平臺的 node 鏡像
RUN npm install
CMD ["node","app.js"]
在上面的示例中,我們用`--platform`參數指定了要構建的平臺,這里我們構建了針對`amd64`和`ppc64le`兩種不同架構的`node`鏡像。當我們將這個鏡像放到新的平臺上運行時,Docker會自動選擇與該平臺匹配的鏡像來運行容器。
這遠不是所有可能實現的多架構鏡像的一個完整列表。現在已經存在于多個社區中的不同方案,對于你自己的情況,需要根據自己的需求選擇。
下一篇vue無法顯示組件