Docker镜像里面到底有啥东西?

Docker 容器的本质是一个特殊的进程,而 Docker 镜像则是容器运行所需的文件系统。可以说Docker容器是Docker镜像的实例,镜像是容器的模板。容器是在镜像的基础上运行的,当我们修改原镜像时,并不会对正在运行的容器产生影响。

那么Docker镜像里面到底包含哪些东西那?要想知道Docker镜像里面含有什么东西,我们需要先看看Docker镜像是怎么来的,最常见的构建Docker镜像的方式是通过编写Dockerfile。

FROM nginx
RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
  • 如上是一个简单的Dockerfile文件,其中FROM指定基础镜像为 nginx
  • RUN命令执行shell命令向index.html 文件中写入Hello, Docker!

编写好Dockerfile后,我们可以执行命令:docker build -t nginx:v1 . 来构建镜像:

C02D9251MD6R :: ~/Downloads » docker build -t nginx:v1 .                    1 ↵
[+] Building 9.3s (6/6) FINISHED
...
 => [internal] load metadata for docker.io/library/nginx:latest            3.8s
 => [1/2] FROM docker.io/library/nginx@sha256:b8f2383a95879e1ae064940d9a2  4.9s
...
 => [2/2] RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/inde  0.4s
 => exporting to image                                                     0.0s
 => => exporting layers                                                    0.0s
 => => writing image sha256:e8b2a9dd1015eb395f7f18d3b4502050d9c4ab919d253  0.0s
 => => naming to docker.io/library/nginx:v1                                0.0s

如上可知,第一步是下载基础镜像nginx,第二步是执行echo命令修改ngnix镜像里面的index.html文件的内容

执行完毕build命令后,我们的docker镜像nginx:v1就在本地构建好嘞,我们可使用docker images查看:

C02D9251MD6R :: ~/Downloads » docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
nginx         v1        e8b2a9dd1015   9 minutes ago   142MB
httpd         latest    6e794a483258   5 days ago      145MB
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加多

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值