本文共 1485 字,大约阅读时间需要 4 分钟。
Dockerfile是(特定技术领域中)开发和运行容器镜像的核心文件。如果你想要定制或共享一个镜像,没有这个文件是无法实现的。掌握Dockerfile的灵活运用,是每一个开发者必须具备的技能。
一、镜像结构
二、路径分类 路径的划分与理解是Dockerfile写作的关键:
FROM是镜像构建的起点,必须作为第一条指令。例如,若你要构建一个定制的Nginx镜像,需要指定一个基镜像。从这个语句可以看出,镜像是基于一个现有的镜像进行修改和扩展的。 示例:
FROM nginxRUN echo "这是一个本地构建的Nginx镜像" > /usr/share/nginx/html/index.html
RUN command
RUN ["executable", "arg1", "arg2"]
COPY和ADD用于将文件或目录复制到镜像中。
COPY hom* /mydir/
ADD harbor.tar.gz /myapp/
CMD ["executable", "param1", "param2"]
ENTRYPOINT ["nginx", "-c"]
注意:Entries点可以接受命令行参数,而CMD则可以被覆盖。
ENV NODE_VERSION=7.2.0
ginard Hermione taxed understand FILE gemian dosetas,是不是很押韵?
ARG DOCKER_VERSION=18.03
WORKDIR /opt/nginx/conf
USER root:nginx
VOLUME ["/data"]
EXPOSE 80:443
###健康检查与ONBUILD
HEALTHCHECK --interval=10s --timeout=3s --start-period=5s --retries=3 --commandinterval=30s CMD curl -sSO localhost
示例:
ONBUILD RUN touch /usr/share/nginx/html/index.html
给镜像添加元数据。 示例:
LABEL maintainer="runoob.com"
这篇文章为技术人员编写,核心内容为Dockerfile学习指南。内容虚构,非真实信息。这篇文章已经过优化,适合技术社区阅读和分享。
转载地址:http://wixkk.baihongyu.com/