美文网首页
常用镜像记录

常用镜像记录

作者: 新签名 | 来源:发表于2020-06-22 09:37 被阅读0次

基础镜像

Scratch

空镜像,也是源镜像,本身镜像不占空间。

市场上所有的镜像都是基于它扩展的。使用它构建的镜像大小几乎和二进制文件本身一样大,适合运行一个包含所有依赖的二进制文件,如Golang 程序、无依赖的C程序等。
构建一个centos镜像:

FROM scratch
ADD centos-7-x86_64-docker.tar.xz /
CMD ["/bin/sh"]

构建一个二进制执行文件的镜像:

FROM scratch
ADD server /
CMD ["/server"]

Busybox

镜像大小:1.22MB
拉取:docker pull busybox

Busybox在单一的可执行文件中提供了精简的Unix工具集,可运行于多款POSIX环境的操作系统,由于BusyBox可执行文件的文件比较小,使得它非常适合使用于嵌入式系统。

该镜像也补充了一些常用的linux命令和基础网络配置,其构建的Dockerfile如下:

FROM scratch
ADD busybox.tar.xz /
CMD ["sh"]

打开busybox.tar.xz,目录结构如下:

微信截图_20200622082103.png

从文件目录上可以看出,集成的文件主要在/binetc目录下:

  • /bin目录下主要放置一些常用命令

    微信截图_20200622082153.png
  • /etc目录下补充了一些主机,权限,网络配置等信息。

Alpine

镜像大小:2.67 MB
拉取:docker pull alpine

版本号 发布日期 支持结束日期 Linux内核版本 镜像大小(x86-64)
3.2 2015-05-26 2017-05-01 3.18.xx 2.45 MB
3.3 2016-01-06 2017-11-01 4.1.xx 2.29 MB
3.4 2016-05-31 2018-05-01 4.4.xx 2.28 MB
3.5 2016-12-22 2018-11-01 4.4.xx 1.88 MB
3.6 2017-05-24 2019-05-01 4.9.xx 1.92 MB
3.7 2017-11-30 2019-11-01 4.9.xx 2.01 MB
3.8 2018-06-26 2020-05-01 4.14.xx 2.1 MB
3.9 2019-01-29 2020-11-01 4.19.xx 2.63 MB
3.10 2019-06-19 2021-05-01 4.19.xx 2.66 MB
3.11 2019-12-19 2021-11-01 5.4.xx 2.76 MB
3.12 2020-05-29 2022-05-01 5.4.xx 2.67 MB

Alpine Linux是一个由社区开发的Linux操作系统,该操作系统以安全为理念,面向x86路由器、防火墙、虚拟专用网、IP电话盒及服务器而设计。由于其体积小,通常用于提供快速启动时间的容器中。
官方镜像地址
官网地址

它是生产环境上比较推荐使用的基础镜像,原因有以下几点:

  • 包含基础的linux命令。
  • 官方更新很快,社区活跃,漏洞较少。
  • 支持目前市面上大部分x86-64指令集架构类型的机器。
  • 还提供了可扩展的包管理机制,让你可以使用apk add命令(类似centosyum install)让你div自己的镜像。

在基础镜像上直接组装,如果添加一个curl命令,那么你的dockerfile可以这么写:

FROM alpine:3.12.0
RUN apk add --no-cache curl 
CMD ["/bin/sh"]

Java镜像

frolvlad/alpine-java

镜像大小:168.3MB
拉取:docker pull frolvlad/alpine-java

JDK8镜像,移除了一些JDk包中的源码,可视化等多余文件,Dockerfile如下:

FROM frolvlad/alpine-glibc:alpine-3.9

ENV JAVA_VERSION=8 \
    JAVA_UPDATE=202 \
    JAVA_BUILD=08 \
    JAVA_PATH=1961070e4c9b4e26a04e7f5a083f551e \
    JAVA_HOME="/usr/lib/jvm/default-jvm"

RUN apk add --no-cache --virtual=build-dependencies wget ca-certificates unzip && \
    cd "/tmp" && \
    wget --header "Cookie: oraclelicense=accept-securebackup-cookie;" \
        "http://download.oracle.com/otn-pub/java/jdk/${JAVA_VERSION}u${JAVA_UPDATE}-b${JAVA_BUILD}/${JAVA_PATH}/jdk-${JAVA_VERSION}u${JAVA_UPDATE}-linux-x64.tar.gz" && \
    tar -xzf "jdk-${JAVA_VERSION}u${JAVA_UPDATE}-linux-x64.tar.gz" && \
    mkdir -p "/usr/lib/jvm" && \
    mv "/tmp/jdk1.${JAVA_VERSION}.0_${JAVA_UPDATE}" "/usr/lib/jvm/java-${JAVA_VERSION}-oracle" && \
    ln -s "java-${JAVA_VERSION}-oracle" "$JAVA_HOME" && \
    ln -s "$JAVA_HOME/bin/"* "/usr/bin/" && \
    rm -rf "$JAVA_HOME/"*src.zip && \
    rm -rf "$JAVA_HOME/lib/missioncontrol" \
           "$JAVA_HOME/lib/visualvm" \
           "$JAVA_HOME/lib/"*javafx* \
           "$JAVA_HOME/jre/lib/plugin.jar" \
            ......省略若干
           "$JAVA_HOME/jre/lib/oblique-fonts" && \
    wget --header "Cookie: oraclelicense=accept-securebackup-cookie;" \
        "http://download.oracle.com/otn-pub/java/jce/${JAVA_VERSION}/jce_policy-${JAVA_VERSION}.zip" && \
    unzip -jo -d "${JAVA_HOME}/jre/lib/security" "jce_policy-${JAVA_VERSION}.zip" && \
    rm "${JAVA_HOME}/jre/lib/security/README.txt" && \
    apk del build-dependencies && \
    rm "/tmp/"* && \

需要特殊注意的时,该镜像也是基于alpine基础镜像构建起来的,Layer层次是alpine -> glibc - > jdk,有兴趣的小伙伴可以深究下。

操作系统镜像

Centos

镜像大小: 71.4MB
拉取:docker pull centos

Ubuntu

镜像大小:27.27MB
拉取:docker pull ubuntu

相关文章

  • 常用镜像记录

    基础镜像 Scratch 空镜像,也是源镜像,本身镜像不占空间。 市场上所有的镜像都是基于它扩展的。使用它构建的镜...

  • 国内常用开源软件镜像源

    国内常用镜像源 常用开源镜像源 开源项目镜像CentOS http://mirror-status.cent...

  • 2.镜像的简单操作2020-11-02

    2.基础入门 这里将记录docker的基础命令,和一些常用的操作,包括查看镜像,容易,构建自己的镜像等操作 将当前...

  • 005-镜像包下载

    docker镜像 下载地址,我把常用镜像放到了网盘上 Docker 镜像 Ubuntu Docker 镜像 Cen...

  • Docker命令,部署,镜像

    1 常用命令 1.1 镜像相关命令 1.1.1 查看镜像 REPOSITORY:镜像名称 TAG:镜像标签 IMA...

  • 常用镜像

    Maven Npm 临时使用 持久使用(个人推荐) 配置后可通过下面方式来验证是否成功 通过cnpm使用 使用 c...

  • 常用镜像

    搜狐镜像http://mirrors.sohu.com/http://mirrors.sohu.com/help/...

  • Docker笔记

    Docker笔记 Docker 镜像常用命令 搜索镜像 docker search java 下载镜像 docke...

  • Docker常规命令

    镜像常用命令 搜索镜像 docker search java 下载镜像 docker pull java 列举已经...

  • Docker命令及实战

    常用Docker命令 docker容器信息 镜像操作 镜像搜索 镜像下载 删除镜像 容器操作 提示:对于容器的操作...

网友评论

      本文标题:常用镜像记录

      本文链接:https://www.haomeiwen.com/subject/diwmxktx.html