kubernetes离线安装包,仅需三步
很容器想到from scratch, 就是没任何基础镜像linux
FROM scratch COPY p / ENTRYPOINT ["/p"]
<!--more-->
有几点要注意:golang
动态编译的bin程序:shell
[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程序可能会出现问题:ui
standard_init_linux.go:175: exec user process caused "no such file or directory”
静态编译的bin程序,这是咱们scratch须要的:spa
[root@dev-86-205 ci-sftp]# ldd p 不是动态可执行文件
golang中静态编译命令:code
go build --ldflags '-linkmode external -extldflags "-static”'
若是不静态编译那可能得拷贝一堆动态库到镜像中,不少lowB就是那么作的ci
扫码关注sealyun
探讨可加QQ群:98488045rem