From 7c8330880cc15e52a148fa34261b786289e0a9d2 Mon Sep 17 00:00:00 2001 From: Alexander Mahr Date: Fri, 27 Dec 2024 10:23:29 +0100 Subject: [PATCH] make small repo for Dockefile syntax-info --- Dockerfile | 37 +++++++++++++++++++++++++++++++++++++ README.md | 14 ++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 Dockerfile create mode 100644 README.md diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a6f7ff4 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,37 @@ +#BASEIMAGE alpine:latest +FROM alpine:latest + +#BUILD_TIME_ENVIRONMENT_VARIABLE MAX_CPU=4 +ARG MAX_CPU=4 + +#ENVIRONMENT_VARIABLE_IN_CONTAINER JAVA_HOME=/opt/java +ENV JAVA_HOME=/opt/java + +#CONTAINERIMAGE_BUILD_RECIPE_STEP touch file +RUN echo "$MAX_CPU" > /max-cpu + +#DEFAULT_ARGUMENTS_FOR_TO_CONTAINER ["1","2","3","argument 4"] +CMD ["1","2","3","argument 4"] + +#COMMANDLINE_FOR_PROCESS_EXECUTED_AS_PID1_IN_CONTAINER ["/bin/sh","-xc","echo $@",""] +ENTRYPOINT ["/bin/sh","-xc","echo \"$@\"",""] + +#CONTAINERIMAGE_BUILD_RECIPE_STEP < /entrypoint.sh << 'EP' +##!/bin/sh +#echo "$@" +#EP +#chmod u+rx /entrypoint.sh +#EOF +RUN < /entrypoint.sh << 'EP' +#!/bin/sh +echo "$@" +EP +chmod u+rx /entrypoint.sh +EOF + +#COMMANDLINE_FOR_PROCESS_EXECUTED_AS_PID1_IN_CONTAINER ["/entrypoint.sh"] +ENTRYPOINT ["/entrypoint.sh"] + + diff --git a/README.md b/README.md new file mode 100644 index 0000000..1201118 --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +# Dockerfile syntax insights + +Some Dockerfile syntax stances like : +* [`RUN`](https://docs.docker.com/reference/dockerfile/#run) +* [`CMD`](https://docs.docker.com/reference/dockerfile/#cmd) +* [`ENTRYPOINT`](https://docs.docker.com/reference/dockerfile/#entrypoint) + +might not be as clear as: + +* `RUN_THIS_COMMAND_TO_CREATE_CONTAINERIMAGE_NEXT_LAYER` (aka `RUN`) +* `DEFAULT_ARGUMENTS_APPENDED_TO_CONTAINER_PID1_COMMANDLINE` (aka `CMD` and clearly challenging to conflate DEFAULT_ARUMENTS with COMMAND) +* `ENTRYPOINT` (aka "DEFAULT_CONTAINER_PID1_COMMAND") + +the [Dockerfile](./Dockerfile) tries to give examples here