如何在Dockerfile中获取当前日期?
我不确定这种方法是否是最好的,所以我愿意接受建议。 我的代码结构如下:如何在Dockerfile中获取当前日期?,docker,Docker,我不确定这种方法是否是最好的,所以我愿意接受建议。 我的代码结构如下: src/ program1.py util.py jarfile.jar Dockerfile Dockerfile如下所示: WORKDIR /app COPY src /app COPY jarfile.jar /app WORKDIR /app/src RUN python program1.py 正在调用的主程序是program1.py,它在格式数据{day date}的src的同一级别生成一个目录,例
src/
program1.py
util.py
jarfile.jar
Dockerfile
Dockerfile如下所示:
WORKDIR /app
COPY src /app
COPY jarfile.jar /app
WORKDIR /app/src
RUN python program1.py
正在调用的主程序是program1.py
,它在格式数据{day date}的src
的同一级别生成一个目录,例如data_20200122
。通过将此数据目录作为命令行参数传递来调用JAR文件,例如java-JAR-jarfile.JAR-inputData/app/data/data\u 20200122
由于数据目录是动态的,如何让Docker生成目录名?我曾考虑改用shell脚本,但我对Docker不熟悉,想知道是否有更好的方法。能否更改
program1.py
,使其生成固定名称,或将名称作为命令行参数?是否正在创建类似于数据集的东西,您也可以在外部创建并将挂载绑定到固定路径?@DavidMaze是的,它正在创建数据集。我总是可以通过CLI参数更改代码,使其以data dir的名称读取,但我想知道这种方法在Docker中是否可行您可以在主机上运行它,然后用类似于docker run-v$PWD/data_20200123:/app/data…
的东西启动容器,使其位于容器中的固定位置。您可以更改program1.py
以生成固定名称,或将名称作为命令行参数吗?是否正在创建类似于数据集的东西,您也可以在外部创建并将挂载绑定到固定路径?@DavidMaze是的,它正在创建数据集。我总是可以通过CLI参数更改代码,使其以数据目录的名称读取,但我想知道这种方法在docker中是否可行。您可以在主机上运行它,然后使用类似于docker run-v$PWD/data\u 20200123:/app/data…
的内容启动容器,因此它位于容器中的固定位置。