什么是 Image
- 文件和 meta data 的集合(root filesystem)
- 分层的,并且每一层都可以添加改变删除文件,成为一个新的 image
- 上层的 image 可以共享下层 image 的环境的
- Image 本身是 read-only 的
root filesystem 就是基于 linux 内核的发行版系统,比如 ubuntu,centos 等,用来当做 baseImage,而 bootft 是 linux 内核,是所有 image 共享的。在 baseImage 上做增删该查的任何操作,都会生成一层新的 image。
获取 image 的两种方式
- 从官方 Docker hub 拉取 image(貌似需要注册登录)。
上一篇已经拉取过 hello-world 的镜像,这次使用docker pull ubuntu:18:04
就可以拉取 ubuntu 的镜像了。:后面是版本号。这个和 git 像。 - 使用 dockerfile build 一个 image
关键就是 dockerfile,下面自己用 dockerfile 来创建一个 image,首先准备一个编译好的 hello-docker 的 c 语言文件,c 语言的源代码如下:
然后对 hello.c 进行编译。
然后开始创建 Dockerfile, 使用命令 vim Dockerfile
FROM scratch 声明它的 baseImage,ADD 将当前目录的 hello 文件添加到 Dockerfile 的根目录。CMD 是执行 hello 文件的命令了。
然后执行 docker build -t wky/hello-Docker .
,-t 为这个 image 贴上标签, .代表当前目录。
使用 dokcer 的命令 docker images
看到多了一个 image。
然后再执行命令 docker run wky/hello-docker
运行一下。
操作 image 的基本命令
命令 | 解释 |
---|---|
查看所有镜像 | docker image ls |
删除镜像 | docker image rm 镜像名字 |
查找仓库中的镜像 | docker search 镜像名字 |
下载镜像 | docker image pull 镜像名字 |
查看镜像的详情 | docker image inspect nginx |
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于