简介

  • Dockerfile是用于自动化构建Docker镜像的文本文件,其中包含一系列定义镜像内容和构建步骤的指令

示例

  • 以一个nginx的dockerfile为例
# This my first nginx Dockerfile
# Version 1.0

# Base images 基础镜像
FROM ******/system/centos:7.5

#MAINTAINER 维护者信息
MAINTAINER ruyan000@qq.com

#ADD  获取url中的文件,放在当前目录下
ADD nginx-1.14.0.tar.gz .

#RUN 执行以下命令 
RUN yum install -y pcre-devel wget net-tools gcc zlib zlib-devel make openssl-devel
RUN useradd -M -s /sbin/nologin nginx
RUN tar -zxvf nginx-1.14.0.tar.gz
RUN mkdir -p /usr/local/nginx
RUN cd nginx-1.14.0 && ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module && make && make install
RUN ln -s /usr/local/nginx/sbin/* /usr/local/sbin/

#EXPOSE 映射端口
EXPOSE 80

#CMD 运行以下命令
CMD ["nginx", "-g", "daemon off;"]
  • FROM语句:表示使用centos:7.5镜像作为基础
  • MAINTAINER语句:提供Dockerfile 制作者信息
  • RUN语句:表示在容器中执行某个shell命令
  • ADD语句:把本机中的文件拷贝到容器中
  • ENTRYPOINT语句:容器启动的命令
  • CMD语句: SHELL指令
  • EXPOSE语句:容器打开指定要监听的端口以实现与外部通信