二. 用Docker打包应用程序(制作镜像)

In order to package up your own Docker image, you write a text document called a Dockerfile that lists all the steps needed to both make the image and use the Docker command line to build it。

例一

图片.png

例二

  1. 新建dockerfile


    图片.png

提示,最好在FROM指令中指出基础镜像的tag,否则当你下次重新build时,你的镜像会经常自动更新,更有甚者,会导致编译不通过。

图片.png
  1. 构建镜像


    图片.png

    图片.png

    说明:

The image build command gets executed by the Docker server—the client simply sends the details through. That’s why you must specify a path (using . for the current working directory in this case). The client sends the contents of the path to the server, and the server stores it in a working folder it uses to build the image. That folder is called the build context。

  1. 查看镜像(存储于Docker image cache)


    图片.png
  2. Dockerfile里面的指令
    图片.png

    4.1 例子
    Dockerfiler文件:
    图片.png

    制作镜像:
    图片.png

    创建容器 并用nc连接后发消息:
    图片.png

    我们可以看看产生了什么(使用 docker container exec 在容器中执行一个命令,并输出到host上):
root@10049605-ThinkPad-T470-W10DG:/home/yay# docker container exec echo-server cat /server-logs/echo.out
图片.png

我们可以查看这个挂载点/server-logs在主机上的位置:

root@10049605-ThinkPad-T470-W10DG:/home/yay# docker container inspect -f {{.Mounts}} echo-server
图片.png

我们看看我们host主机上被挂载的文件内容

--依据上面的输出,切换到对应的目录:
root@10049605-ThinkPad-T470-W10DG:/home/yay# cd /var/lib/docker/volumes/09167cfdc5d561b0dcfaef7c73301c7a6ae10ca0cdb8eb7c648c048092fab506/_data
--省略输出内容...
root@10049605-ThinkPad-T470-W10DG:/var/lib/docker/volumes/09167cfdc5d561b0dcfaef7c73301c7a6ae10ca0cdb8eb7c648c048092fab506/_data# cat echo.out
图片.png

5 Docker镜像是如何构建出来的

看例子:
5.1 创建两个dockfile
内容如下:


image.png

5.2 构建镜像
image.png

5.3 可以查看镜像中的所有layers
image.png

5.4 接下来构建另外一个镜像
image.png

然后查看所有layers,并和a的layers作对比:


image.png
  1. 镜像删除(自己猜测后实验)


    image.png
  2. 总结
    你只应当对那些需要被重用的层作缓存, 有状态的层不要让它发生缓存现象
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,682评论 0 10
  • java劝退教程-操作系统篇(二) 作为一个软件人,我们不能只知道编码,还需要对整个行业有一定的认识,让自己的知识...
    码思客阅读 182评论 0 0
  • 不能乞求它 你越是乞求 它越是傲慢 越是无礼 像极了墨西拿海峡的塞壬 遇见它的人 都会被迷惑 以为幸福降临 却发现...
    蜗牛在路上遇到了黄鹂阅读 159评论 0 4
  • 一直在学习 javascript,也有看过《犀利开发 Jquery 内核详解与实践》,对这本书的评价只有两个字犀利...
    独念白阅读 269评论 0 2
  • 绢本设色,丹青若水线条好似铁。 凝笔沾墨,如何勾勒那惊鸿一瞥? 微闭双眼,仿佛又徘徊于洛水边。 夕阳西下,你凌波微...
    清风徐阅读 410评论 0 1

友情链接更多精彩内容