Skip to content
Advertisement

Python creates Folder inside docker image but remove when processing completes

Python Program does create folder and put some files over there. But when i try to run the program inside docker via CMD It creates the folder and put files over there and upon completion, the folder somehow gets removed or doesnt show inside the docker image.

I have tried the following things:

  1. Check Folder Exist after creating – It shows folder created over there.
  2. Check inside the docker image using bash – It doesnt show the folder and contents.

The dockerfile is

FROM ubuntu:18.04

# Upgrade installed packages

RUN apt update
RUN apt upgrade -y
ENV TZ=Europe/London
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN apt-get install -y libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

WORKDIR /code
RUN apt-get -y install python3-pip
RUN apt-get -y install python3-venv
RUN apt -y install python3-setuptools libffi-dev python3-dev
RUN apt install -y curl
RUN apt install -y unzip

RUN apt-get install -y build-essential swig

WORKDIR /code
RUN python3 -m venv .env
RUN . .env/bin/activate && pip install --upgrade pip && curl https://raw.githubusercontent.com/automl/auto-sklearn/master/requirements.txt | LC_ALL=C.UTF-8 xargs -n 1 -L 1 pip install
COPY requirements.txt requirements.txt
RUN . .env/bin/activate && pip install pyenchant && pip install -r requirements.txt

RUN apt install -y libgl1-mesa-glx
RUN apt-get install -y libglib2.0-0
RUN apt-get install -y libenchant1c2a

RUN mkdir embeddings
COPY . .
RUN curl -L http://nlp.stanford.edu/data/glove.6B.zip --output glove.zip
RUN unzip -o glove.zip -d embeddings/

RUN . .env/bin/activate && python nltk_install.py
CMD . .env/bin/activate && python main.py
 

Advertisement

Answer

Changes to filesystem are not stored in docker image. They exist in container created from an image but if you use ‘docker run’ command a new container is created.

User contributions licensed under: CC BY-SA
9 People found this is helpful
Advertisement