美文网首页
最小化docker镜像

最小化docker镜像

作者: sealyun | 来源:发表于2019-08-07 14:22 被阅读0次

kubernetes离线安装包,仅需三步

如何让镜像尽可能小

很容器想到from scratch, 就是没任何基础镜像

FROM scratch
COPY p /
ENTRYPOINT ["/p"]


有几点要注意:

  • ENTRYPOINT 或者CMD 必须要用[]这种模式,如果直接/p会用sh去启动,而scratch没有shell导致失败
  • 二进制程序必须静态编译,也就是不能依赖libc什么的动态库

动态编译的bin程序:

[root@dev-86-205 ci-sftp]# ldd p
    linux-vdso.so.1 =>  (0x00007ffd6ef7b000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa28f94e000)
    libc.so.6 => /lib64/libc.so.6 (0x00007fa28f58d000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fa28fb72000)

这种情况下出来的bin程序可能会出现问题:

standard_init_linux.go:175: exec user process caused "no such file or directory”

静态编译的bin程序,这是我们scratch需要的:

[root@dev-86-205 ci-sftp]# ldd p
    不是动态可执行文件

golang中静态编译命令:

go build --ldflags '-linkmode external -extldflags "-static”'

如果不静态编译那可能得拷贝一堆动态库到镜像中,很多lowB就是那么做的

扫码关注sealyun



探讨可加QQ群:98488045

相关文章

  • 最小化docker镜像

    kubernetes离线安装包,仅需三步 如何让镜像尽可能小 很容器想到from scratch, 就是没任何基础...

  • 最小化docker镜像

    kubernetes离线安装包,仅需三步 如何让镜像尽可能小 很容器想到from scratch, 就是没任何基础...

  • Python Docker 最小化镜像

    对比下 Python Docker 官方镜像,alpine 是最小的版本 我的项目中用到了 mysqlclient...

  • Docker基础操作

    Docker部署 Docker安装 镜像加速 Docker 基础命令 Docker镜像管理 搜索镜像docker ...

  • docker常用操作

    下载docker镜像 查看docker镜像 搜索docker镜像 开启docker容器 查看全部docker实例 ...

  • Docker 常用命令及参数

    Docker镜像命令 docker 镜像检索 docker search 镜像名docker search red...

  • dock学习笔记

    从镜像仓库拉取镜像 docker pull (镜像名称) 查看docker镜像 docker images 从镜像...

  • Docker 常用命令总结

    Docker镜像管理 搜索镜像:docker search 获取镜像:docker pull 查看镜像:docke...

  • 大觅网

    Docker镜像操作查看镜像:docker images搜索镜像:docker search 镜像关键字拉取镜像:...

  • Docker基本操作

    1. 镜像操作 搜索镜像:docker search 镜像名 拉取镜像docker pull 镜像名docker ...

网友评论

      本文标题:最小化docker镜像

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