- rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
- #docker help run man docker-run
- docker build --no-cache -t="mine/nginx:v1" .
- docker push zhangwenhaonb/mine:tagname #将命令镜像推送到Docker Hub
- docker run -d -p 80:80 --name mine-1 mine/nginx:v1 nginx -g "daemon off;"
- # -i 容器STDIN开启 -t 为容器分配伪tty终端 -d 后台 -p 端口映射
- FROM centos #基于原有的docker镜像
- ENV TIME 2019-10-10
- MAINTAINER Zhang Wenhao "xx.@163.com" #作者的名字和邮箱
- RUN [ "yum","install","-y","nginx" ]
- CMD ["nginx"] #会被run指令覆盖
- EXPOSE 80 #向外公开的端口
- ENTRYPOINT ["nginx","-g","daemon off;"] #run命令的参数会被当做参数传给ENTRYPOINT
- WORKDIR /opt/webapp #在容器内部设置工作目录 CMD和ENTRYPOINT指定的程序在这个目录运行
- USER nginx:nginx #指定运行时用户 默认roots
- VOLUME ["/opt/project"] #添加卷 将数据、数据库或其他内容添加到镜像中而不是将内容提交,多个容器可以共享
- ADD software.lic /software.lic #将文件复制到镜像中的位置 /结尾是目录 否则是文件 源文件也可以是URL
- #ADD处理tar、gzip、xz、bzip2为源文件,可以解开 ADD xxx.tar.gz /xxx/ 目录不存在会创建 0755
- COPY conf.d /conf.d #只会做复制,而不会提取和解压,文件必须放在Dockerfile同目录下
- ONBUILD ADD . /src #为镜像添加触发器,当一个镜像被用作其他镜像的基础镜像是,触发执行,FROM之后执行
- #可以通过docker inspect命令查看,ONBUILD只在子镜像中执行一次 FROM、MAINTAINER、ONBUILD不能执行