diff --git a/Dockerfile-a2 b/Dockerfile-a2 new file mode 100644 index 0000000..ab8f91f --- /dev/null +++ b/Dockerfile-a2 @@ -0,0 +1,35 @@ +# First stage: Install packages +FROM alpine:3.18 as builder + +RUN apk add --no-cache \ + bash \ + gawk \ + findutils \ + coreutils \ + git \ + ncurses \ + fzf + +COPY ugit . + +# Set permissions and move the script to path +RUN chmod +x ugit && mv ugit /usr/bin/ + +# Second stage: Copy only necessary binaries and their dependencies +FROM busybox + +COPY --from=builder /usr/bin/ugit /usr/bin/ +COPY --from=builder /usr/bin/git /usr/bin/ +COPY --from=builder /usr/bin/fzf /usr/bin/ +COPY --from=builder /usr/bin/tput /usr/bin/ +COPY --from=builder /usr/bin/cut /usr/bin/ +COPY --from=builder /usr/bin/tr /usr/bin/ +COPY --from=builder /usr/bin/nl /usr/bin/ +COPY --from=builder /usr/bin/gawk /usr/bin/ +COPY --from=builder /usr/bin/xargs /usr/bin +COPY --from=builder /usr/bin/env /bin/ +COPY --from=builder /bin/bash /bin/ + +WORKDIR /app +# Run ugit when the container launches +CMD ["busybox", "sh", "-c", "/usr/bin/ugit"] \ No newline at end of file diff --git a/Dockerfile-a3 b/Dockerfile-a3 new file mode 100644 index 0000000..3ce4ee8 --- /dev/null +++ b/Dockerfile-a3 @@ -0,0 +1,31 @@ +# First stage: Install packages +FROM alpine:3.18 as builder + +RUN apk add --no-cache \ + bash \ + coreutils \ + git \ + ncurses \ + fzf + +COPY ugit . + +# Set permissions and move the script to path +RUN chmod +x ugit && mv ugit /usr/bin/ + +# Second stage: Copy only necessary binaries and their dependencies +FROM busybox + +COPY --from=builder /usr/bin/ugit /usr/bin/ +COPY --from=builder /usr/bin/git /usr/bin/ +COPY --from=builder /usr/bin/fzf /usr/bin/ +COPY --from=builder /usr/bin/tput /usr/bin/ +COPY --from=builder /usr/bin/cut /usr/bin/ +COPY --from=builder /usr/bin/tr /usr/bin/ +COPY --from=builder /usr/bin/nl /usr/bin/ +COPY --from=builder /usr/bin/env /bin/ +COPY --from=builder /bin/bash /bin/ + +WORKDIR /app +# Run ugit when the container launches +CMD ["ugit"] \ No newline at end of file diff --git a/Dockerfile-a4 b/Dockerfile-a4 new file mode 100644 index 0000000..55efc93 --- /dev/null +++ b/Dockerfile-a4 @@ -0,0 +1,31 @@ +# First stage: Install packages +FROM alpine:3.18 as builder + +RUN apk add --no-cache \ + bash \ + coreutils \ + git \ + ncurses \ + fzf + +COPY ugit . + +# Set permissions and move the script to path +RUN chmod +x ugit && mv ugit /usr/bin/ + +# Second stage: Copy only necessary binaries and their dependencies +FROM scratch + +COPY --from=builder /usr/bin/ugit /usr/bin/ +COPY --from=builder /usr/bin/git /usr/bin/ +COPY --from=builder /usr/bin/fzf /usr/bin/ +COPY --from=builder /usr/bin/tput /usr/bin/ +COPY --from=builder /usr/bin/cut /usr/bin/ +COPY --from=builder /usr/bin/tr /usr/bin/ +COPY --from=builder /usr/bin/nl /usr/bin/ +COPY --from=builder /usr/bin/env /bin/ +COPY --from=builder /bin/bash /bin/ + +WORKDIR /app +# Run ugit when the container launches +CMD ["ugit"] \ No newline at end of file