Docker(五)创建本地镜像

容器实际上是在父镜像的基础上创建了一个可读写的文件层级,所有的修改操作都在这个文件层级上进行,而父镜像并未受到影响,根据这种修改创建新的本地镜像,有两种不同的方式

方式一:

     1、创建容器

         根据本地镜像创建一个容器:

         a、执行【docker image】命令,查看本地镜像;

         b、根据本地镜像中的nginx镜像,创建一个nginx容器,并启动;

         c、将宿主机中的一个index.html文件拷贝到容器中;

         d、访问容器,发现改变已经生效;

         e、接下来重新创建一个容器,名为nginx2;

         f、访问nginx2,发现nginx2中的默认页面时nginx中的,没有改变;

     2、创建本地镜像

         根据刚刚创建的容器,创建一个本地镜像。

       【docker commit -m "update index.html" --author='Rlu' [镜像所依据的容器id]  Rlu/nginx:v1】

         解释:a、【-m】:创建该镜像的一个简单描述;

                    b、【--author】:该镜像的一个作者;

                    c、【Rlu/nginx 】:表示仓库名,Rlu是名称空间,nginx是镜像名;

                    d、【v1】:表示仓库的tag

        创建完成后通过【docker images】可以查看刚刚创建的镜像。之后运行一个该镜像的容器,发现该容器的默认首页已经改变。

方式二:(Dockerfile)

      commit方式存在问题:无法重复,体积较大,所以考虑使用【Dockerfile】。

      Dockerfile就是一个普通文件,其中包含了一条条指令,每一条指令构建一层。

      1、在一个空白目录创建一个名为Dockerfile的文件,其中包含的内容:

FROM nginx
MAINTAINER Rlu “Rlu@mail.com”
RUN echo 'hello world!' >..[路径]../index.html

COPY ./hello.html  /....

           a、FROM nginx表示该镜像的构建,以已有的nginx镜像为基础,在其基础上构建。

           b、MAINTAINER 创建作者的信息以及邮箱信息(非必须)。

           c、RUN指令用来修改镜像,安装程序、安装库以及配置应用。

           d、COPY 将上下文的hello.html拷贝到镜像。

     2、文件创建完成之后,【docker build -t Rlu/nginx:v1】

          a、【-t】用来指定命名空间,仓库名以及TAG等信息。

     3、【docker images】查看

     4、创建容器并启动。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Rlu先森

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

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

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

打赏作者

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

抵扣说明:

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

余额充值