因為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
閱讀更多 blueapple 的文章