# Dockerfile
* __FROM:__ `镜像`
* __MAINTAINER:__ `镜像创建者`
* __RUN:__ `执行命令`
* __ENV:__ `设置环境变量`
* __USER:__ `使用哪个用户跑container`
* __EXPOSE:__ `container内部服务开启的端口`
* __COPY:__ `将文件<src>拷贝到container的文件系统对应的路径<dest>`
* __VOLUME:__ `可以将本地文件夹或者其他container的文件夹挂载到container中`
* __WORKDIR:__ `切换目录,同cd`
* __ONBUILD:__ `指定的命令在构建镜像时并不执行,而是在它的子镜像中执行`
* __CMD__
1. container启动时执行的命令,但是一个Dockerfile中只能有一条CMD命令,多条则只执行最后一条CMD.
2. CMD主要用于container时启动指定的服务,当docker run command的命令匹配到CMD command时,会替换CMD执行的命令
* __ENTRYPOINT__
1. container启动时执行的命令,但是一个Dockerfile中只能有一条ENTRYPOINT命令,如果多条,则只执行最后一条
2. ENTRYPOINT没有CMD的可替换特性
* __ADD__
1. 将文件<src>拷贝到container的文件系统对应的路径<dest>
2. 所有拷贝到container中的文件和文件夹权限为0755,uid和gid为0
3. 如果文件是可识别的压缩格式,则docker会帮忙解压缩
4. 只有在build镜像的时候运行一次,后面运行container的时候不会再重新加载了
5. 可拷贝url路径的文件