以一个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;"]
上述的dockerfile中:
FROM
语句:表示使用centos:7.5镜像作为基础MAINTAINER
语句:提供Dockerfile 制作者信息RUN
语句:表示在容器中执行某个shell命令ADD
语句:把本机中的文件拷贝到容器中ENTRYPOINT
语句:容器启动的命令CMD
语句: SHELL指令EXPOSE
语句:容器打开指定要监听的端口以实现与外部通信