Docker 学习(二)Image 的相关概念以及操作

本贴最后更新于 1619 天前,其中的信息可能已经斗转星移

什么是 Image

  • 文件和 meta data 的集合(root filesystem)
  • 分层的,并且每一层都可以添加改变删除文件,成为一个新的 image
  • 上层的 image 可以共享下层 image 的环境的
  • Image 本身是 read-only 的
    5CWQ1S3287XBSPM.png

root filesystem 就是基于 linux 内核的发行版系统,比如 ubuntu,centos 等,用来当做 baseImage,而 bootft 是 linux 内核,是所有 image 共享的。在 baseImage 上做增删该查的任何操作,都会生成一层新的 image。

获取 image 的两种方式

  1. 从官方 Docker hub 拉取 image(貌似需要注册登录)。
    上一篇已经拉取过 hello-world 的镜像,这次使用 docker pull ubuntu:18:04 就可以拉取 ubuntu 的镜像了。:后面是版本号。这个和 git 像。
  2. 使用 dockerfile build 一个 image
    关键就是 dockerfile,下面自己用 dockerfile 来创建一个 image,首先准备一个编译好的 hello-docker 的 c 语言文件,c 语言的源代码如下:
    image.png

然后对 hello.c 进行编译。

image.png

然后开始创建 Dockerfile, 使用命令 vim Dockerfile

image.png

FROM scratch 声明它的 baseImage,ADD 将当前目录的 hello 文件添加到 Dockerfile 的根目录。CMD 是执行 hello 文件的命令了。
然后执行 docker build -t wky/hello-Docker .-t 为这个 image 贴上标签, .代表当前目录。

image.png

使用 dokcer 的命令 docker images 看到多了一个 image。

image.png

然后再执行命令 docker run wky/hello-docker 运行一下。

image.png

操作 image 的基本命令

命令 解释
查看所有镜像 docker image ls
删除镜像 docker image rm 镜像名字
查找仓库中的镜像 docker search 镜像名字
下载镜像 docker image pull 镜像名字
查看镜像的详情 docker image inspect nginx
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    476 引用 • 899 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...