docker 官网 contos6.8 Dockerfile

FROM scratch
MAINTAINER The CentOS Project <cloud-ops@centos.org>
ADD c68-docker.tar.xz /
LABEL name="CentOS Base Image" \
    vendor="CentOS" \
     license="GPLv2" \
     build-date="2016-06-02"

# Default command
CMD ["/bin/bash"]

scratch[skrætʃ],所有镜像的基础镜像,类似于Java Object类。

MAINTAINER,maintainer[meɪnˈteɪnə],译为维护者;作者、邮箱。
LABEL[ˈleɪbl],译为标签;一些说明。


Dockerfile语法

1、每个命令必须大写,且命令后必须有参数,如 FROM scratch,命令FROM大写,后面有参数 scratch
2、指令从上到下顺序执行
3、# 表示注释
4、每条命令都会创建一个镜像层


执行Dockerfile大致流程

1、从基础镜像运行一个容器
2、执行Dockerfile一条指令对容器做出修改,并提交为一个新的镜像层
3、基于新提交的镜像运行一个新容器
4、...


Dockerfile命令简介

FROM  指定基础镜像
MAINTAINER   镜像维护者的姓名和邮箱
RUN   执行一些额外的命令,类比Java 类里的System.out.print();
EXPOSE   暴露的端口号
WORKDIR   工作目录,使用 -it 进入容器后的目录
ENV   设置变量,如ENV MY_PATH /usr/mytest,WORKDIR $MY_PATH
COPY   复制宿主机目录下的文件到镜像
ADD   复制宿主机目录下的文件到镜像,并自动处理url和压缩包解压
VOLUME   指定容器卷
CMD   指定容器启动时要运行的命令;可以有多个CMD命令,但只有最后一个生效;CMD会被docker run之后的参数替换
ENTRYPOINT   指定容器启动时要运行的命令;docker run之后的参数不会被替换,并追加行为
ONBUILD   构建子镜像时,父镜像的onbuild会被触发


修改官方 centos:7

以精减版的centos为基础镜像,通过Dockerfile自定义一个centos,修改工作目录为/tmp,安装vim,安装ifconfig
1、编写Dockerfile

FROM centos:7

MAINTAINER Prince <zhangrunwei@aliyun.com>

ENV my_work_dir /tmp
WORKDIR $my_work_dir

RUN yum -y install vim
RUN yum -y install net-tools

EXPOSE 80

CMD echo "----------------successful----------------"
CMD /bin/bash
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-03-11
  • 2022-12-23
  • 2021-12-18
猜你喜欢
  • 2022-12-23
  • 2022-02-14
  • 2021-11-26
  • 2021-08-26
  • 2021-12-20
  • 2021-09-19
相关资源
相似解决方案