首页 > 解决方案 > 有人能解释一下第 5 行是什么意思吗?即添加。$HOME_DIR 在 docker 文件中是什么意思?

问题描述

我的 Dockerfile 的第 5 行有问题。我不明白那是什么意思。

FROM python:3.7-alpine

LABEL author= APPLE

LABEL company= PINEAPPLE

ARG HOME_DIR='/schooldata'

ADD . $HOME_DIRECT              ##[ this line ]

EXPOSE 5000

WORKDIR $HOME_DIRECT

RUN pip install -r requirements.txt

ENTRYPOINT ["python", "app.py"]

标签: docker

解决方案


这里 :

ADD . $HOME_DIRECT    
  • ADD执行从源到当前构建图像的资源复制,具有以下特性:如果将其识别为存档(tar,zip ...),则复制其内容,否则复制包含的文件/目录,例如。

接下来的两个参数是 的源资源和目标资源ADD

  • .意味着源是构建上下文。构建上下文是docker build命令的最后一个参数:通常我们指定.诸如docker build FooTag .代表执行命令的当前目录,docker build但可能不同。

  • $HOME_DIRECT是构建映像中副本的目标目录。


附带说明一下,它具有相当复杂的行为(它也可能接受 URL 作为源,因此仅在特殊情况下(URL 和复制存档的内容)才ADD应优先使用它。 在大多数情况下,这确实更好:COPY

COPY . $HOME_DIRECT    

推荐阅读