011-Dockerfile-WORKDIR

语法

WORKDIR /path/to/workdir

作用 & 描述

WORKDIR 指令为 Dockerfile 中的任何 RUN, CMD, ENTRYPOINT, COPY 和 ADD 指令设置工作目录。如果 WORDIR 不存在,即使它未在任何后续Dockerfile指令中使用,也将创建它。

WORKDIR 指令可以在 Dockerfile 中多多次使用。如果提供了相对路径,则它将相对于先前 WORKDIR 指令的路径。例如:

WORKDIR /a
WORKDIR b
WORKDIR c
RUN pwd

此 Dockerfile 中最终 pwd 命令的输出为 /a/b/c

WORKDIR 指令可以解析先前使用 ENV 设置的环境变量。你只能使用 Dockerfile 中显示设置的环境变量。例如:

ENV DIRPATH /path
WORKDIR $DIRPATH/$DIRNAME
RUN pwd

此 Dockerfile 中最后一个 pwd 命令的输出将是 /path/$DIRNAME

示例

FROM registry-vpc.cn-beijing.aliyuncs.com/hilife/base-container:1.0.0.0

WORKDIR /home/admin

ADD jar/ROOT.jar ROOT.jar


EXPOSE  8080

ENV JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom -server -Xfuture -Xmixed -Xmn384M -Xms1024M -Xmx1024M -Xss256K -XX:-UseBiasedLocking -XX:+AggressiveOpts -XX:+BackgroundCompilation -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=logs/  -XX:+AggressiveHeap -XX:CMSInitiatingOccupancyFraction=75 -XX:+ExplicitGCInvokesConcurrent -XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses -XX:MaxTenuringThreshold=6 -XX:MetaspaceSize=256M -XX:MinHeapFreeRatio=25 -XX:+ParallelRefProcEnabled -XX:SurvivorRatio=8 -XX:+UseParallelGC -XX:-UseParallelOldGC"

CMD java ${JAVA_OPTS} -jar ROOT.jar --spring.profiles.active=prod

你可能感兴趣的:(Dockerfile,Docker)