Create Dockerfile :
FROM python:3-alpine
RUN python -m pip install --upgrade pip
RUN pip3 install requests paho-mqtt
COPY NumSide.py /home/mehdi/Download/NumSide.py
CMD ["python","/home/mehdi/Download/NumSide.py"]
# Python
FROM ubuntu:18.04
ARG PYTHON_VERSION=3.9.1
ENV DEBIAN_FRONTEND=noninteractive
ENV PATH $PATH:/usr/local/bin
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=aptcache1804 --mount=type=cache,target=/var/lib/apt,sharing=locked,id=aptcache1804
export DEBIAN_FRONTEND=noninteractive
&& apt-get update -y
&& apt-get install -y apt-utils sudo wget tar
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=aptcache1804 --mount=type=cache,target=/var/lib/apt,sharing=locked,id=aptcache1804
export DEBIAN_FRONTEND=noninteractive
&& apt-get update -y
&& apt-get install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev
RUN wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz
&& tar -xf Python-${PYTHON_VERSION}.tgz
RUN cd Python-${PYTHON_VERSION}
&& ls -la
&& ./configure --enable-optimizations
&& make -j 4
&& make altinstall
RUN pip3 install requests asyncio
COPY ./entrypoint.py ./entrypoint.py
ENTRYPOINT python ./entrypoint.py
# install python
docker pull python
# run python in interactive mode with no persistent storage
docker run -it python
# run python in interactive mode and mount an absolute path
# to a folder named shared in the python container for persistent storage
docker run -it -v /Users/codecaine/Desktop:/shared python
# run python in interactive mode and mount the terminal current working directory
# to a folder named shared in the python container for persistent storage
docker run -it -v ${PWD}:/shared python
# create a volume named shared
volume to create my_volume
# get a list of volumes on system
docker volume ls
# to attach a volume for persistent storage in python
docker run -it -v my_volume:/shared python
# in python check the folder
import os
# change system directory to shared folder
os.chdir("shared")
# list files in the current directory
os.listdir(".")
# stop all active services - containers and mounted volumes
docker system prune
# remove a volume is storage is not needed anymore
docker volume rm my_volume
RUN apk upgrade --update && apk add --no-cache python3 python3-dev