From fbb6bdef5a9678c8964100272482479a83fd9df9 Mon Sep 17 00:00:00 2001 From: Carl Kittelberger Date: Thu, 31 Aug 2017 09:53:47 +0200 Subject: [PATCH] Initial commit --- Dockerfile | 19 +++++++++++++++++++ alpine/Dockerfile | 19 +++++++++++++++++++ alpine/hello.c | 31 +++++++++++++++++++++++++++++++ hello.c | 31 +++++++++++++++++++++++++++++++ 4 files changed, 100 insertions(+) create mode 100644 Dockerfile create mode 100644 alpine/Dockerfile create mode 100644 alpine/hello.c create mode 100644 hello.c diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..63dd461 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +FROM debian + +COPY hello.c /src/ + +RUN \ + export DEBIAN_FRONTEND=noninteractive \ + && apt update \ + && apt install -y gcc \ + && ( \ + cd /src \ + && gcc -Wall -o /usr/local/bin/hello hello.c \ + ) \ + && apt autoremove -y --purge gcc \ + && rm -rf \ + /var/lib/apt/lists/* \ + /var/tmp/* \ + /tmp/* + +CMD ["hello"] diff --git a/alpine/Dockerfile b/alpine/Dockerfile new file mode 100644 index 0000000..2308954 --- /dev/null +++ b/alpine/Dockerfile @@ -0,0 +1,19 @@ +FROM alpine + +COPY hello.c /src/ + +RUN \ + export DEBIAN_FRONTEND=noninteractive \ + && apk add --no-cache --virtual .build-deps \ + gcc \ + musl-dev \ + && ( \ + cd /src \ + && gcc -Wall -o /usr/local/bin/hello hello.c \ + ) \ + && apk del --no-cache .build-deps \ + && rm -rf \ + /var/tmp/* \ + /tmp/* + +CMD ["hello"] diff --git a/alpine/hello.c b/alpine/hello.c new file mode 100644 index 0000000..da1db9d --- /dev/null +++ b/alpine/hello.c @@ -0,0 +1,31 @@ +#define _GNU_SOURCE + +#include +#include +#include +#include +#include + +extern char *program_invocation_name; +extern char *program_invocation_short_name; + +int main() { + register struct passwd *pw; + register uid_t uid; + + printf("This is %s speaking.\n", program_invocation_name); + + uid = geteuid(); + pw = getpwuid(uid); + + if (pw) + { + printf("Hello, %s!\n", pw->pw_name); + } + else + { + printf("I don't know your name but your ID is %d!\n", (unsigned) uid); + } + + return 0; +} \ No newline at end of file diff --git a/hello.c b/hello.c new file mode 100644 index 0000000..da1db9d --- /dev/null +++ b/hello.c @@ -0,0 +1,31 @@ +#define _GNU_SOURCE + +#include +#include +#include +#include +#include + +extern char *program_invocation_name; +extern char *program_invocation_short_name; + +int main() { + register struct passwd *pw; + register uid_t uid; + + printf("This is %s speaking.\n", program_invocation_name); + + uid = geteuid(); + pw = getpwuid(uid); + + if (pw) + { + printf("Hello, %s!\n", pw->pw_name); + } + else + { + printf("I don't know your name but your ID is %d!\n", (unsigned) uid); + } + + return 0; +} \ No newline at end of file