6、Docker Image

1|06.1 什么是image

  • 文件和meta data的集合(root filesystem)
  • 分层的,并且每一层都可以添加、改变、删除文件,成为一个新的image
  • 不同的image可以共享相同的layer
  • image本身是read-only的

Docker Images

2|06.2 image的获取

  1. Build from Dockerfile
  2. Pull from Registry
  3. commit from a container's changes

2|1通过Dockerfile构建一个base image

  1. 编写一个c文件并编译成为可执行文件
#include<stdio.h> int main() { printf("hello docker\n"); }
gcc -static hello.c -o hello
  1. 编写Dockerfile文件
FROM scratch ADD hello / CMD ["/hello"]
  1. 通过docker build构建镜像

  命令:

docker image build <==> docker build
docker build -t staryjie/hello-docker . Sending build context to Docker daemon 868.9kB Step 1/3 : FROM scratch ---> Step 2/3 : ADD hello / ---> d6f5edefd7fa Step 3/3 : CMD ["/hello"] ---> Running in e1db264875b9 Removing intermediate container e1db264875b9 ---> 09be7d865fab Successfully built 09be7d865fab Successfully tagged staryjie/hello-docker:latest
  1. 通过docker history查看镜像的分层

  命令:

docker history
docker history staryjie/hello-docker:latest IMAGE CREATED CREATED BY SIZE COMMENT 09be7d865fab 4 minutes ago /bin/sh -c #(nop) CMD ["/hello"] 0B d6f5edefd7fa 4 minutes ago /bin/sh -c #(nop) ADD file:e98243ff005d26728… 865kB

__EOF__

本文作者StaryJie
本文链接https://www.cnblogs.com/jie-fang/p/10279669.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   StaryJie  阅读(226)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示