| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> docker高级操作:使用-Dockerfile-定制镜像 -> 正文阅读 |
|
[系统运维]docker高级操作:使用-Dockerfile-定制镜像 |
镜像是多层存储,每一层是在前一层的基础上进行的修改;而容器同样也是多层存储,是在以镜像为基础层,在其基础上加一层作为容器运行时的存储层。 Dockerfile 是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。 DockerFile 就是用来构建docker镜像的构建文件! 命令脚本! 通过这个脚本可以生成镜像,镜像是一层一层的,所以脚本就是一个个的命令,每个命令都是一层 以定制?nginx?镜像为例,这次我们使用 Dockerfile 来定制 构建步骤1、编写一个dockerfile文件 2、docker build 构建成为一个镜像 3、docker run 运行镜像 4、docker push 发布镜像(dockerHub、阿里云镜像仓库) 第一步:编写一个dockerfile文件
这个 Dockerfile 很简单,一共就两行。涉及到了两条指令,FROM?和?RUN。 FROM 指定基础镜像: 所谓定制镜像,那一定是以一个镜像为基础,在其上进行定制。就像我们之前运行了一个?nginx?镜像的容器,再进行修改一样,基础镜像是必须指定的。而?FROM?就是指定基础镜像,因此一个?Dockerfile中?FROM?是必备的指令,并且必须是第一条指令。
RUN?指令是用来执行命令行命令的; Dockerfile 中每一个指令都会建立一层,RUN?也不例外。每一个?RUN?的行为,就是新建立一层,在其上执行这些命令,执行结束后,commit?这一层的修改,构成新的镜像。 注意:不要写多个 RUN,那样产生非常臃肿、非常多层的镜像,不仅仅增加了构建部署的时间,也很容易出错。 Dockerfile?正确的写法:(案例:编译、安装 redis 可执行文件)
二、构建镜像回到之前定制的 nginx 镜像的 Dockerfile 来。现在我们明白了这个 Dockerfile 的内容,那么让我们来构建这个镜像。 我们使用了?docker build?命令进行镜像构建。其格式为
在?Dockerfile?文件所在目录执行:
在这里我们指定了最终镜像的名称?-t nginx:v3,构建成功后,就可以运行这个镜像。 ??测试? 和以前的Nginx不一样了 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 11:37:12- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |