Dockerflles
############################################################
# Dockerfile Template
# Based on Centos
############################################################
# 使用Dockerfiles和手工使用Docker Daemon运行命令一样简单。脚本运行后输出为新的镜像ID
# Build an image using the Dockerfile at current location
# Example: sudo docker build -t [name] .
#sudo docker build -t my_mongodb .
# FROM命令可能是最重要的Dockerfile命令。
# 改命令定义了使用哪个基础镜像启动构建流程。
# 基础镜像可以为任意镜像。
# 如果基础镜像没有被发现,Docker将试图从Docker image index来查找该镜像。
# FROM命令必须是Dockerfile的首个命令。
# Usage: FROM [image name]
FROM centos:7.4.1708
# MAINTAINER命令用于声明作者,并应该放在FROM的后面。
#MAINTAINER xinming@whu.edu.cn
MAINTAINER xinming@whu.edu.cn
# ADD命令有两个参数,源和目标。
# 它的基本作用是从源系统的文件系统上复制文件到目标容器的文件系统。
# 如果<src>是识别的压缩格式(identity,gzip,bzip2或xz)的本地tar存档,则将其解包为目录。
# 如果源是一个URL,那该URL的内容将被下载并复制到容器中。
# Usage: ADD [source directory or URL] [destination directory]
#ADD /my_app_folder /my_app_folder
ADD lustre7.4-client/ /root
# RUN命令是Dockerfile执行命令的核心部分。它接受命令作为参数并用于创建镜像。
# 不像CMD命令,RUN命令用于创建镜像(在之前commit的层之上形成新的层)。
# Usage: RUN [command]
#RUN yum install -y gcc
RUN yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel
RUN yum install -y
# execute command to compile nginx
# execute command to compile nginx
#RUN ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-file-aio --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module --with-http_geoip_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_stub_status_module && make && make install
# CMD命令和RUN命令相似,CMD可以用于执行特定的命令。
# 和RUN不同的是,这些命令不是在镜像构建的过程中执行的,而是在用镜像构建容器后被调用。
# Usage 1: CMD application "argument", "argument", ..
#CMD "echo" "Hello docker!"
#USER命令用于设置运行容器的UID。
# Usage: USER [UID]
#USER 751
# WORKDIR命令用于设置CMD指明的命令的运行目录。
# Usage: WORKDIR /path
#WORKDIR ~/
# change dir to /usr/local/src/nginx-1.12.2
#WORKDIR /usr/local/src/nginx-1.12.2
# VOLUME命令用于让你的容器访问宿主机上的目录。
# Usage: VOLUME ["/dir_1", "/dir_2" ..]
#VOLUME ["/my_files"]
# ENV命令用于设置环境变量。这些变量以”key=value”的形式存在,并可以在容器内被脚本或者程序调用。
# Usage: ENV key value
#ENV SERVER_WORKS 4
# EXPOSE用来指定端口,使容器内的应用可以通过端口和外界交互。
# Usage: EXPOSE [port]
#EXPOSE 8080