From 1c2cbbbe2afd7d3329b172a8fb8042ac75d26aa1 Mon Sep 17 00:00:00 2001 From: JinnaBalu Date: Fri, 1 Sep 2023 12:32:42 +0530 Subject: [PATCH] Optimized Dockerfile for layer cache and moved all the installations for cache not to rerun the same layer for every code change for Docker container. --- Dockerfile | 23 +++++++---------------- README.md | 31 ++++++++++++++++++++++++++----- docker-compose.yml | 7 ++++--- 3 files changed, 37 insertions(+), 24 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5656a50..f7b0f2b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,21 +1,12 @@ -FROM kalilinux/kali-rolling - +FROM kalilinux/kali-rolling:latest RUN apt-get update && \ -apt-get install -y git python3-pip figlet sudo; - -#Install packages dependencies -RUN true && \ -apt-get install -y boxes php curl xdotool wget; + apt-get install -y git python3-pip figlet sudo && \ + apt-get install -y boxes php curl xdotool wget WORKDIR /root/hackingtool +COPY requirements.txt ./ +RUN pip3 install --no-cache-dir boxes flask lolcat requests -r requirements.txt COPY . . - -RUN true && \ -pip3 install boxes flask lolcat requests -r requirements.txt; - -RUN true && \ - echo "/root/hackingtool/" > /home/hackingtoolpath.txt; - +RUN true && echo "/root/hackingtool/" > /home/hackingtoolpath.txt; EXPOSE 1-65535 - -ENTRYPOINT ["python3", "/root/hackingtool/hackingtool.py"] +ENTRYPOINT ["python3", "/root/hackingtool/hackingtool.py"] \ No newline at end of file diff --git a/README.md b/README.md index 7f80386..ca1973d 100644 --- a/README.md +++ b/README.md @@ -240,13 +240,34 @@ ## Use image with Docker -### Run in one click -`docker run -it vgpastor/hackingtool` +### Create Docker Image +- Create the docker image -### Build locally -`docker-compose build` +```bash +docker buitl -t vgpastor/hackingtool . +``` -`docker-compose run hackingtool` +### Run as container + +```bash +docker-compose up -d +``` + +### Interact with terminal + +- Get into the container +```bash +docker exec -it hackingtool bash +``` +**OUTPUT:** +```bash +Select Best Option : + + [1] Kali Linux / Parrot-Os (apt) + [2] Arch Linux (pacman) + [0] Exit +``` +Enter the options and continue. - If need open other ports you can edit the docker-compose.yml file - Volumes are mounted in the container to persist data and can share files between the host and the container diff --git a/docker-compose.yml b/docker-compose.yml index 93ca8da..301548b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,9 +1,10 @@ version: "3.9" services: hackingtool: - build: . - stdin_open: true # docker run -i - tty: true # docker run -t + image: vgpastor/hackingtool + container_name: hackingtool + stdin_open: true + tty: true volumes: - .:/root/hackingtool ports: