如何選擇Docker基礎鏡像

因為Docker鏡像是基於基礎鏡像來構建的,因此選擇的基礎鏡像越高級,我們要做的底層工作就越少。

比如,如果構建一個Java應用的鏡像,選擇一個openjdk的鏡像作為基礎鏡像比選擇一個alpine鏡像作為基礎鏡像要簡單地多。

鏡像官網

Docker鏡像官網(Docker Hub): https://hub.docker.com

quay:https://quay.io/search

daocloud: https://hub.daocloud.io/

網易: https://c.163yun.com/hub#/m/home/ (需登錄)
阿里雲:https://cr.console.aliyun.com/cn-beijing/instances/images (需登錄)

Google鏡像(gcr.io):https://console.cloud.google.com/gcr/images/google-containers/GLOBAL (需要科學上網,主要為Kubernetes相關鏡像)

操作系統基礎鏡像

比如你要從Linux操作系統基礎鏡像開始構建,可以參考下表來選擇合適的基礎鏡像:

鏡像名稱 大小 使用場景

busybox 1.15MB 臨時測試用

alpine 4.41MB 主要用於測試,也可用於生產環境

centos 200MB 主要用於生產環境,支持CentOS/Red Hat,常用於追求穩定性的企業應用

ubuntu 81.1MB 主要用於生產環境,常用於人工智能計算和企業應用

debian 101MB 主要用於生產環境

busybox

描述:可以將busybox理解為一個超級簡化版嵌入式Linux系統。

官網:https://www.busybox.net/

鏡像:https://hub.docker.com/_/busybox/

包管理命令:apk, lbu

包管理文檔:https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management

Alpine

描述:Alpine是一個面向安全的、輕量級的Linux系統,基於musl libc和busybox。

官網:https://www.alpinelinux.org/

鏡像:https://hub.docker.com/_/alpine/

包管理命令:apk, lbu

包管理文檔:https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management

CentOS

描述:可以理解CentOS是RedHat的社區版

官網:https://www.centos.org/

鏡像:https://hub.docker.com/_/centos/

包管理命令:yum, rpm

Ubuntu

描述:另一個非常出色的Linux發行版

官網:http://www.ubuntu.com/

鏡像:https://hub.docker.com/_/ubuntu/

包管理命令:apt-get, dpkg

Debian

描述:另一個非常出色的Linux發行版

官網:https://www.debian.org/

鏡像:https://hub.docker.com/_/debian/

包管理命令:apt-get, dpkg

編程語言基礎鏡像

Java基礎鏡像

https://hub.docker.com/_/java/ (Deprecated)

https://hub.docker.com/_/openjdk/

由於Oracle JDK license問題,Docker官方的Java基礎鏡像使用的是OpenJDK而不是Oracle JDK。

Python基礎鏡像

https://hub.docker.com/_/python/

NodeJs基礎鏡像

https://hub.docker.com/_/node/

應用基礎鏡像

Nginx基礎鏡像

https://hub.docker.com/_/nginx/

Openresty基礎鏡像

https://hub.docker.com/r/openresty/openresty

Tomcat基礎鏡像

https://hub.docker.com/_/tomcat/

Jetty基礎鏡像

https://hub.docker.com/_/jetty/

其它基礎鏡像

Maven基礎鏡像

https://hub.docker.com/_/maven/

Jenkins基礎鏡像

https://hub.docker.com/r/jenkins/jenkins/

GitLab基礎鏡像

https://hub.docker.com/r/gitlab/gitlab-ce/

Zookeeper基礎鏡像

https://hub.docker.com/_/zookeeper

Kafka基礎鏡像

https://hub.docker.com/r/wurstmeister/kafka

Rabbitmq基礎鏡像

https://hub.docker.com/_/rabbitmq


分享到:


相關文章: