以一个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语句:容器打开指定要监听的端口以实现与外部通信

如何将git项目里的某个文件或目录添加到镜像中?