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