当前位置: 首页 > article >正文

docker 构建最小镜像 - 2MB 不到

文章目录

      • 1.编译 code
      • 2.编写 Dockerfile
      • 3.构建镜像
      • 4.运行起来
      • 5.总结

1.编译 code

root@jn:/home/jn/Desktop/Docker# cat hello.go
package main

import (
        "fmt"
        "time"
)

func main() {
        for {
                fmt.Println("hello~")
                time.Sleep(time.Second)
        }
}
root@jn:/home/jn/Desktop/Docker# go build hello.go
root@jn:/home/jn/Desktop/Docker# ll -h hello
-rwxrwxr-x 1 jn jn 1.7M Sep   5 02:32 hello*
root@jn:/home/jn/Desktop/Docker#

2.编写 Dockerfile

Dockerfile:

FROM scratch
COPY hello /
CMD ["/hello"]

3.构建镜像

docker build -t hello .

root@jn:/home/jn/Desktop/Docker# docker build -t hello .
[+] Building 0.0s (5/5) FINISHED                                                                                                                                                                           docker:default
 => [internal] load build definition from Dockerfile                                                                                                                                                                 0.0s
 => => transferring dockerfile: 79B                                                                                                                                                                                  0.0s
 => [internal] load .dockerignore                                                                                                                                                                                    0.0s
 => => transferring context: 2B                                                                                                                                                                                      0.0s
 => [internal] load build context                                                                                                                                                                                    0.0s
 => => transferring context: 1.76MB                                                                                                                                                                                  0.0s
 => CACHED [1/1] COPY hello /                                                                                                                                                                                        0.0s
 => exporting to image                                                                                                                                                                                               0.0s
 => => exporting layers                                                                                                                                                                                              0.0s
 => => writing image sha256:4182d38fc8c5abca0a807ff9b39864a960c97b4a9e03363d79f8461e81e190d4                                                                                                                         0.0s
 => => naming to docker.io/library/hello                                                                                                                                                                             0.0s
root@jn:/home/jn/Desktop/Docker#

结果:

root@jn:/home/jn/Desktop/Docker# docker images
REPOSITORY              TAG       IMAGE ID       CREATED         SIZE
hello                   latest    4182d38fc8c5   5 minutes ago   1.76MB
root@jn:/home/jn/Desktop/Docker#

4.运行起来

root@jn:/home/jn/Desktop/Docker# docker run hello
hello~
hello~
hello~
hello~
hello~

5.总结

(镜像总共1.76MB,程序占1.7MB)

root@jn:/home/jn/Desktop/Docker# ll -h hello
-rwxrwxr-x 1 jn jn 1.7M Sep   5 02:32 hello*
root@jn:/home/jn/Desktop/Docker#
root@jn:/home/jn/Desktop/Docker# docker images
REPOSITORY              TAG       IMAGE ID       CREATED         SIZE
hello                   latest    4182d38fc8c5   9 minutes ago   1.76MB
root@jn:/home/jn/Desktop/Docker#

http://www.kler.cn/a/299084.html

相关文章:

  • uniApp使用腾讯地图提示未添加maps模块
  • Hexo Next主题集成百度统计
  • linux java 查看异常堆栈
  • 【C 语言指针篇】指针的灵动舞步与内存的神秘疆域:于 C 编程世界中领略指针艺术的奇幻华章
  • 功能篇:JAVA8实现数据去重
  • MYSQL 利用concat函数 生成更新或者插入SQL
  • [Windows] MinGW 与 MSYS2
  • 基于STM32设计的水闸水文测控系统(华为云IOT)(220)
  • Android 系统级应用守护进程
  • Vue 中 计算属性与侦听属性的使用与介绍
  • 系统架构设计师: 信息安全技术
  • 【开发工具】IntelliJ IDEA插件推荐:Json Helper——让JSON处理更高效
  • 摩尔投票算法--169. 多数元素
  • 部署定时任务每2天清理一次表
  • Kali Linux 设置与维护教程
  • 什么是跨站脚本攻击(XSS)和跨站请求伪造(CSRF)?
  • 大数据之Flink(二)
  • 线程池以及详解使用@Async注解异步处理方法
  • Vue 中的 Web Workers:提升性能与流畅度
  • GDB的使用
  • java基础 | 动态代理
  • 力推高阶智驾普及:埃安再放大招
  • OS 模块常用方法
  • Deploying Spring Boot Apps Tips
  • Java面试题精选:分布式(一)
  • Vue3+setup实现父子组件单表增删改查写法模板