dockerfile

WHAT :通过指令编排镜像,帮你自动化的构建镜像

4组核心的Dockerfile指令

  • USER/WORKDIR指令
  • ADD/EXPOSE指令
  • RUN/ENV指令
  • CMD/ENTRYPOINT指令

dockerfile 综合实验

运行一个docker容器,在浏览器打开demo.od.com能访问百度首页

~]# mkdir /data/dockerfile
~]# vi /data/dockerfile/Dockerfile
FROM 909336740/nginx:v1.12.2
USER root
ENV WWW /usr/share/nginx/html
ENV CONF /etc/nginx/conf.d
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&\ 
    echo 'Asia/Shanghai' >/etc/timezone
WORKDIR $WWW
ADD index.html $WWW/index.html
ADD demo.od.com.conf $CONF/demo.od.com.conf
EXPOSE 80
CMD ["nginx","-g","daemon off;"]

vi : 编辑文本

FROM :从哪里导入

USER :用什么用户起

ENV :设置环境变量

RUN : 修改时区成中国时区'Asia/Shanghai'

WORKDIR :指定工作目录,这里指定的是之前ENV指定的WWW 目录,即是/usr/share/nginx/html

ADD :添加指定的东西进去

EXPOSE :暴露端口

CMD :指令的首要目的在于为启动的容器指定默认要运行的程序,程序运行结束,容器也就结束

dockerfile]# vi demo.od.com.conf
server {
   listen 80;
   server_name demo.od.com;
   root /usr/share/nginx/html;
}
dockerfile]# ll
dockerfile]# wget www.baidu.com -O index.html
dockerfile]# docker build . -t 909336740/nginx:baidu
dockerfile]# docker run --rm -p80:80 909336740/nginx:baidu

ll :显示当前目录的文件

wget :下载文件工具

  • -O :并将文档写入后面指定的文件(这里是index.html)

没有保存权限的参考这个 https://jingyan.baidu.com/article/624e7459b194f134e8ba5a8e.html 访问demo.od.com