I have a simple Dockerfile
as below:
FROM kalilinux/kali-rolling
WORKDIR /attack
COPY . /attack
RUN ls
RUN chmod +x attack.sh
RUN ./attack.sh $aws_access_key_id $aws_secret_access_key $default_region $bucket
And I have this attack.sh
and it contains content as below:
#!/bin/bash
# Getting the host passed as an argument to the script
/usr/share/zaproxy/zap.sh -cmd -addoninstall exportreport
mkdir -p /root/test
test() {
echo "access key = ${1}"
echo "secret key = ${2}"
echo "default region = ${3}"
echo "bucket = ${4}"
echo "line = ${5}"
}
while IFS= read -r line; do
# echo $line
test $1 $2 $3 $4 $line
done < domains.txt
And if you are wondering how I pass the value to the Dockerfile
, it is like this:
docker build --build-arg aws_access_key_id=${SPOT_RUNNER_ACCESS_KEY} --build-arg aws_secret_access_key=${SPOT_RUNNER_SECRET_KEY} --build-arg default_region=ap-southeast-2 --build-arg bucket=${BUCKET_NAME} -t run-test .
So the arguments are passed in below order
docker build ---> Dockerfile ---> attack.sh
But, this is not working, it gives an empty values for these variables.
Can someone please help me?