实践:理解镜像构成

本文介绍了Docker中的镜像和容器的概念及其关系,通过实例展示了如何定制Web服务器、访问结果、修改网页内容以及查看具体改动。镜像是容器的基础,容器是镜像的运行实例。通过dockerrun命令启动容器,如定制nginx服务器并映射端口,然后通过dockerexec命令进入容器修改网页内容,最后使用dockerdiff查看具体改动。
摘要由CSDN通过智能技术生成

一、镜像

镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。

二、容器

容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

三、镜像与容器间的关系

镜像是容器的基础,每次执行 docker run 的时候都会指定哪个镜像作为容器运行的基础。

四、多层存储

镜像是多层存储,每一层是在前一层的基础上进行的修改;而容器同样也是多层存储,是在以镜像为基础层,在其基础上加一层作为容器运行时的存储层。

五、实际操作

1、定制Web服务器

为了更加直观地理解镜像,我们以定制一个 Web 服务器。

思路:用 nginx 镜像启动一个容器,命名为 webserver,并且映射了 80 端口,这样我们可以用浏览器去访问这个 nginx 服务器。
具体操作指令:docker run --name webserver -d -p 80:80 nginx
结果如下:
在这里插入图片描述
注意:此时docker中并没有nginx镜像,所以去docker hub拉取nginx这个镜像

2、访问结果

此时我们访问: http://localhost ,可以看到下图结果(默认的 Nginx 欢迎页面):
在这里插入图片描述
注意: 如果是在本机运行的 Docker,那么可以直接访问,如果是在虚拟机、云服务器上安装的 Docker,则需要将 localhost 换为虚拟机地址或者实际云服务器地址。

3、修改网页内容

在实际操作中,如果我们想要修改欢迎页面,可以使用 docker exec 命令进入容器,修改其内容。

操作指令
先进入容器内:

docker exec -it webserver /bin/bash

在交互界面输入:

echo '<h1>Hello, Docker, hi zmq!</h1>' > /usr/share/nginx/html/index.html

具体操作如下图所示:
在这里插入图片描述
接下来再刷新浏览器的话,内容修改成我们想要的了
在这里插入图片描述

4、查看具体改动

我们修改了容器的文件,也就是改动了容器的存储层。我们可以通过 docker diff 命令看到具体的改动。

操作指令为:

docker diff webserver

在下图我们就可以看到具体的改动了
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值