《 Dockerfile实战一之自定义docker镜像 》
前言
在前一篇文章中对 《 Dockerfile 基本理论概述 》进行了概述,主要详细的阐述了什么是 Dockerfile?Dockerfile 的基础相关知识?以及 Dockerfile 的执行流程,本篇将带领大家进行实操。
Dockerfile实战一之自定义docker镜像
初始 Dockerfile-自定义镜像 huazai/web/data/centos:v1.0
1、了解Base镜像(scratch)
在 Docker Hub 中可以很清晰的看到,基本上 99% 的镜像都是通过在 base 镜像中安装和配置需要的最终的软件环境所构建出来的新的镜像。
2、编写dockerfile脚本儿文件,
在 Docker Hub 中的 centos 镜像默认是没有 “ netstat -aon ” 命令,如下图:
但是现在有问题需要排查,需要这个命令来协助,这儿就需要其包含 “ netstat -aon ” 命令了;
进入到/opt/docker目下,创建一个dockerfile,输入命令 “ vi dockerfile ” ,并键入如下内容:
# 使用的 base 镜像
FROM centos
# 创建作者
MAINTAINER alibaba_huazai<who.seek.me@java98k.vip>
# 设置进入docker时初始落入的目录
ENV PATH /usr/local
WORKDIR $PATH
# 需要安装的组件包
RUN yum -y install net-tools
# 暴露80端口
EXPOSE 80
# 成功后执行的指令
CMD echo "building---------------------------sucessfully"
CMD /bin/bash
如下图(注意标红框处):
3、构建新的镜像,
输入命令 “ docker build -f /opt/docker/dockerfile -t huazai/web/data/centos:v1.0 . ”进行构建,构建成功后会获得一个全新的进行文件,如下图:
*注:docker build 命令最后有一个 . 表示当前目录,不能缺少,如果没有 . ,则会构建失败的。
4、运行与测试
启动刚才构建生成的docker镜像,输入命令 “ docker run -it 镜像ID ” ,如下图:
5、列出该镜像的详细信息,输入命令 “ docker inspect 容器ID”,如下图:
6、查看该镜像的变更历史信息,输入命令 “ docker history 镜像ID ”,如下图:
好了,关于 Docker系列(十六)——Dockerfile实战一之自定义docker镜像 就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。
歇后语:“ 共同学习,共同进步 ”,也希望大家多多关注CSND的IT社区。
作 者: | 华 仔 |
联系作者: | who.seek.me@java98k.vip |
来 源: | CSDN (Chinese Software Developer Network) |
原 文: | https://blog.csdn.net/Hello_World_QWP/article/details/84556341 |
版权声明: | 本文为博主原创文章,请在转载时务必注明博文出处! |