美文网首页
三、Docker相关概念-image

三、Docker相关概念-image

作者: 一直想上树的猪 | 来源:发表于2019-08-08 15:30 被阅读0次

1.什么是image

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


    image

2.Image的获取(1)

  • Build from Dockerfile
    Dockerfile
    这是一个Dockerfile文件,这个Dockerfile有5行,其中第一行:选择一个baseImage
    第二行:标明作者是谁
    第三行:基于iamge之上去运行什么命令
    第四行:暴露的端口
    第五行:起点,程序的入口
docker build -t xiaopeng163/redis:last .

-t声明一个名字,最后面的.的意思是在当前目录下的Dockerfile文件去build


build

3.Image的获取(2)

  • Pull from Registry
    有点模仿github,提出了一个registry,我们可以从registry中拉去image
    Registry
    registry是docker提供的一个免费image仓库,地址:https://hub.docker.com

4.DIY一个自己的image(hello world)

  • 新建文件夹hello-world
  • 用C语言写一个hello.c
#include<stdio.h>
int main(){
  printf("hello docker");
}

我们知道如果要编译C语言的程序我们必须要有一个gcc,敲入命令:

sudo yum install gcc
sudo yum install glibc-static
  • 编译C程序
gcc -static hello.c -o hello

然后我们可以看到在当前目录下面有了一个可执行文件hello,然后输入

./hello

就会打印出来hello docker

  • 构建Dockerfile
FROM scratch
ADD hello /
CMD ["/hello"]

这是一个非常简单的Dockerfile
然后我们来构建这个镜像

docker build -t tinner/hello-tinner

至此,我们自定义的Dockerfile构建完毕。


images

我们可以看到,构建的这个镜像的大小是基于这个可执行文件大小的
然后我们可以看到这个image的分层:

docker history 9993e2f152b3
分层信息

我们可以看到这个image就只有两层,第一层是添加文件,第二层是执行命令。其实第一层的FROM scratch是声明我们这个image不基于任何环境的。
然后运行

docekr run tinner/hello-tinner

可以看到输出了hello docker

相关文章

  • 三、Docker相关概念-image

    1.什么是image image是文件和meta data的集合(root filesystem) 分层的,并且每...

  • docker基本概念

    1.4 Docker基本概念docker包含三个基本概念: 镜像(Image) 容器(Container) 仓库(...

  • Docker基本操作命令

    Docker关于image的相关命令 查看本地image信息docker imagesdocker image l...

  • Docker学习笔记

    Docker 简介 戳这里 基本概念 Docker 包括三个基本概念 镜像(Image) 容器(Container...

  • Docke第一次使用介绍

    Docker Docker的三大核心概念:镜像、容器、仓库 首先我们来看下镜像。 Docker image 查看当...

  • Docker 镜像操作

    使用 Docker 镜像 镜像(image)是 Docker 三大核心概念中最为重要的,自 Docker 诞生之日...

  • docker使用总结

    1.docker的基本概念: Docker包括三个基本概念 镜像(Image)容器(Container)仓库(Re...

  • Docker简介

    Docker的三大核心概念:镜像(Image)、容器(Container)、仓库(Repository)。

  • Centos下的纯命令记录Docker学习(1)-安装

    docker架构图: 抄录自菜鸟: Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Im...

  • Docker基础命令

    基本概念 Docker包括三个基础概念-镜像(Image)-容器(Container)-仓库(Respositor...

网友评论

      本文标题:三、Docker相关概念-image

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