Linux云计算教程全套视频合集:Dockerfile详解(一)

我们可以把刚才的对容器的所有操作命令都记录到一个文件里,就像写更脚本程序。之后用 docker build 命令以此文件为基础制作一个镜像,并会自动提交到本地仓库。这样的话镜像的构建会变的透明化,对镜像的维护起来也更加简单,只修改这个文件即可。

同时分享也更加简单快捷,因为只要分享这个文件即可。

Dokcerfile 是一个普通的文本文件,文件名一般叫 Dockerfile。

其中包含了一系列的指令(Instruction), 每一条指令都会构建一层,就是描述该层是如何创建的。

小试牛刀

示例:

编辑 Dockerfile 文件
[root@localhost ~]# mkdir centos_dockerfile

[root@localhost ~]# cd centos_dockerfile/

[root@localhost centos_dockerfile]# vi Dockerfile

FROM centos:latest

LABEL maintainer=“yangge [email protected]” description=“Install tree vim*”

RUN rpm -qa | grep tree || yum install -y tree vim*

指令介绍:

FORM 定义一个基础镜像LABEL 定义一些元数据信息,比如作者、版本、关于镜像的描述信息RUN 执行命令行的命令

编辑完,保存退出

写文辛苦插个小消息,也方便想学习的同学,在文章下方留言即可试听课程外加领取HTML5、UI交互设计、PHP、Java+云数据、大数据开发、VR/AR/Unity游戏开发、Python人工智能、Linux云计算、全栈软件测试、网络安全等全部的视频学习教程。

2.开始构建镜像

命令语法格式:

docker bulid -t 仓库名/镜像名:tag .

docker build [选项] <上下文路径/URL/->

示例:

[root@localhost centos_dockerfile]# docker build -t centos:1.20 .

Sending build context to Docker daemon 2.048kB

Step 1/3 : FROM centos:latest

—> e934aafc2206

Step 2/3 : LABEL maintainer=“shark[email protected]” description=“Install tree vim*”

—> Using cache

—> 1207b2848015

Step 3/3 : RUN rpm -qa | grep tree || yum install -y tree vim*

—> Running in 33d321b249d7

Loaded plugins: fastestmirror, ovl

Determining fastest mirrors

…略…

Complete!

Removing intermediate container 33d321b249d7

—> adc30981bc84

Successfully built adc30981bc84 # 表示构建成功

Successfully tagged centos:1.20 # TAG 标签

[root@localhost centos_dockerfile]#

构建镜像的上下文(context)

这个 . 表示当前目录,这实际上是在指定上下文的目录是当前目录,docker build 命令会将该目录下的内容打包交给 Docker 引擎以帮助构建镜像。

docker build 命令得知这个路径后,会将路径下的所有内容打包,然后上传给 Docker 引擎。这样 Docker 引擎收到这个上下文包后,展开就会获得构建镜像所需的一切文件。

最佳实战

一般来说,应该会将 Dockerfile 置于一个空目录下,或者项目根目录下。如果该目录下没有所需文件,那么应该把所需文件复制一份过来。如果目录下有些东西确实不希望构建时传给 Docker 引擎,那么可以用 .gitignore 一样的语法写一个 .dockerignore,该文件是用于剔除不需要作为上下文传递给 Docker 引擎的Dockerfile 的文件名并不要求必须为 Dockerfile,而且并不要求必须位于上下文目录中,比如可以用 -f …/Dockerfile.qf 参数指定某个文件作为 Dockerfile。一般大家习惯性的会使用默认的文件名 Dockerfile,以及会将其置于镜像构建上下文目录中。

发布了81 篇原创文章 · 获赞 1 · 访问量 5828

猜你喜欢

转载自blog.csdn.net/qfyangsheng/article/details/104995873
今日推荐