Dockerfile保留字指令介绍以及实例演示

Dockerfile保留字指令

保留字指令含义
FROM基础镜像,表示当前镜像是基于哪个镜像的
MAINTAINER镜像维护者的姓名和邮箱地址
RUN容器构建时需要运行的命令
EXPOSE当前容器对外暴露的端口号
WORKDIR指定容器创建后,终端默认登录进来的工作目录
ENV在构建过程中设置环境变量
ADD将宿主机目录下的文件拷贝到镜像中
※:ADD命令会自动处理URL和解压tar压缩包
COPY类似于ADD,拷贝文件和目录到镜像中
VOLUME容器数据卷,用于数据保存、数据持久化和数据共享
CMD指定容器启动时要运行的命令
※:Dockerfile中可以有多个CMD指令,但只有最后一个生效,CMD会被docker run之后的参数替换
ENTRYPOINT指定容器启动时要运行的命令
※:ENTRYPOINT和CMD一样,都是在指定容器启动命令及参数
ONBUILD父镜像被子镜像继承后,父镜像的ONBUILD被触发

指令实例

Base镜像(scratch)

Docker hub中99%的镜像都是通过在base镜像中安装和配合需要的软件构建出来的。

Docker hub中centos7的Dockerfile:

FROM scratch
ADD centos-7-docker.tar.xz /

LABEL org.label-schema.schema-version="1.0" \
    org.label-schema.name="CentOS Base Image" \
    org.label-schema.vendor="CentOS" \
    org.label-schema.license="GPLv2" \
    org.label-schema.build-date="20181006"

CMD ["/bin/bash"]

自定义centos镜像

  1. 通过docker hub上centos镜像创建的centos容器有以下特点:
    默认工作路径是/;
    默认不支持vim;
    默认不支持ifconfig;
    在这里插入图片描述
  2. 自定义mycentos镜像使其具有以下特点:
    登陆后的默认工作路径为:/root;
    支持vim命令;
    支持ipconfig命令;
  3. 编写Dockerfile:
# 设置基础镜像
FROM centos
# 设置当前镜像的维护者姓名和邮件
MAINTAINER NullPointerException<xxxxxxxxx.@163.com>

# 设置环境变量
ENV MYPATH /root
# 设置默认工作路径
WORKDIR $MYPATH

# 安装 vim
RUN yum -y install vim
# 安装 net工具
RUN yum -y install net-tools

# 设置对外暴露的端口号
EXPOSE 8088

# 打印默认工作路径的环境变量
CMD echo $MYPATH

CMD echo "build success ^.^"

CMD /bin/bash
  1. build Dockerfile
docker build -f /myDocker/Dockerfile -t mycentos:1.0 .

查看build好的mycentos镜像:
在这里插入图片描述

  1. 运行mycentos容器:
docker run -it --name mycentos_container mycentos:1.0

在这里插入图片描述

通过上图可以看到自定义的mycentos跟预期的完全一致???

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值