How To setup Docker for Senaite with shared development volume

Continuing the discussion from How to set email configuration? --> Error:
I have tried setting up docker for senaite and it does work properly. However, when I configure my docker-compose file to use a shared volume for development/update of the source code, all the contents of the local src (source) folder gets deleted. Does anyone have any idea how to fix this.

Here is my docker-compose.yml

version: "2"

networks:
  webgateway:
    external: true
  senaitenet:
    internal: true

services:
  senaite:
    build:
      context: ./
      dockerfile: Dockerfile
    container_name: senaite
    volumes:
    - senaite-data:/data
    - $PWD/src:/home/senaite/senaitelims/src
    environment:
            #- ADDONS=senaite.kanban
            - DEVELOP=src/senaite.core src/senaite.storage src/senaite.core.listing src/senaite.core.supermodel src/senaite.impress src/senaite.lims src/senaite.health
            - ADDONS=senaite.core senaite.storage senaite.core.listing senaite.core.supermodel senaite.impress senaite.lims senaite.health
            - VERSIONS=senaite.core=1.3.3 senaite.lims=1.3.2.1
    networks:
      - senaitenet
      - webgateway
    labels:
      - traefik.backend=senaite-backend
      - traefik.frontend.rule=Host:labo.donwel.test
      - traefik.docker.network=webgateway
      - traefik.port=8080

volumes:
  senaite-data:

Here is my buildout file

[buildout]
extends =
  buildout-base.cfg

extensions =

index = https://pypi.python.org/simple/

var-dir=/data
user=admin:admin

effective-user = senaite
buildout-user = senaite

eggs-directory=../buildout-cache/eggs
download-cache=../buildout-cache/downloads

parts +=
  zeo

eggs +=
    senaite.lims
	senaite.health
	senaite.core.listing
	senaite.core.supermodel
	senaite.impress
	senaite.api
	
develop =
    src/senaite.lims
	src/senaite.health
	src/senaite.core
    src/senaite.core.listing
    src/senaite.core.supermodel
    src/senaite.impress
    src/senaite.api

[client1]
recipe =

[zeo]
<= zeoserver_base
recipe = plone.recipe.zeoserver
zeo-address = 8080

[versions]
setuptools=
zc.buildout=
senaite.lims=1.3.3.1
senaite.core=1.3.3
soupsieve = 1.9.4

# The following part definition lists the versions picked:
Chameleon = 3.6.2
Products.ATExtensions = 1.1
Pyphen = 0.9.5
Werkzeug = 1.0.0
backports.functools-lru-cache = 1.6.1
cairocffi = 0.9.0
cffi = 1.14.0
cssselect2 = 0.2.2
html5lib = 1.0.1
more-itertools = 5.0.0
pdfrw = 0.4
plone.recipe.command = 1.1
plone.recipe.precompiler = 0.6
senaite.core.supermodel = 1.2.3
sourcecodegen = 0.6.14
tinycss2 = 0.6.1
webencodings = 0.5.1
z3c.pt = 3.2.0

# Required by:
# senaite.core==1.3.3
Products.DataGridField = 1.9.6

# Required by:
# senaite.core==1.3.3
Products.TextIndexNG3 = 3.4.14

# Required by:
# senaite.impress==1.2.3
beautifulsoup4 = 4.8.2

# Required by:
# senaite.core==1.3.3
collective.indexing = 2.1

# Required by:
# senaite.core==1.3.3
collective.progressbar = 0.5

# Required by:
# plone.jsonapi.core==0.6
dicttoxml = 1.7.4

# Required by:
# senaite.core==1.3.3
jarn.jsi18n = 1.1

# Required by:
# senaite.core==1.3.3
magnitude = 0.9.4

# Required by:
# senaite.core==1.3.3
plone.jsonapi.core = 0.6

# Required by:
# cffi==1.14.0
pycparser = 2.19

# Required by:
# senaite.core==1.3.3
z3c.jbot = 0.8

# Required by:
# plone.recipe.unifiedinstaller==4.3.2
# plone.recipe.zeoserver==1.3.1
# plone.recipe.zope2instance==4.4.1
# z3c.autoinclude==0.3.9
zc.buildout = 2.13.3

# Required by:
# Products.TextIndexNG3==3.4.14
zopyx.txng3.core = 3.6.2

My Dockefile is

# Use an official Python runtime as a parent image
FROM python:2.7-stretch

# Set one or more individual labels
LABEL senaite.core.version="1.3.3.1"

# Set environment variables
ENV PLONE_MAJOR=4.3 \
    PLONE_VERSION=4.3.19 \
    PLONE_MD5=04ed5beac7fb8504f06a36d44e407b06 \
    SENAITE_HOME=/home/senaite \
    SENAITE_USER=senaite \
    SENAITE_INSTANCE_HOME=/home/senaite/senaitelims \
    SENAITE_DATA=/data \
    SENAITE_FILESTORAGE=/data/filestorage \
    SENAITE_BLOBSTORAGE=/data/blobstorage \
    ADDONS='senaite.lims senaite.core senaite.core.supermodel senaite.core.listing senaite.impress senaite.storage senaite.health' \
    DEVELOP='src/senaite.lims src/senaite.core src/senaite.core.supermodel src/senaite.core.listing src/senaite.impress src/senaite.storage src/senaite.health'

# Create the senaite user
RUN useradd --system -m -d $SENAITE_HOME -U -u 500 $SENAITE_USER

# Create direcotries
RUN mkdir -p $SENAITE_INSTANCE_HOME $SENAITE_FILESTORAGE $SENAITE_BLOBSTORAGE

RUN echo "deb http://deb.debian.org/debian stretch-backports main contrib non-free" >> /etc/apt/sources.list

# Copy the package config
COPY packages.txt /

# Install package dependencies
RUN apt-get update && apt-get install -y gcc
RUN apt-get update && apt-get install -y --no-install-recommends \
    zip nano vim \
	dpkg-dev gcc gosu libbz2-dev libc6-dev libcairo2 libffi-dev libgdk-pixbuf2.0-0 libjpeg62 libjpeg62-turbo-dev \
    libopenjp2-7 libopenjp2-7-dev libpango-1.0-0 libpangocairo-1.0-0 libpcre3-dev libssl-dev libtiff5 libtiff5-dev \
    libxml2 libxml2-dev libxslt1-dev libxslt1.1 lynx netcat rsync wget wv zlib1g-dev zlib1g-dev \
    nano curl sudo \
	&& apt-get -t stretch-backports install -y --no-install-recommends python-lxml && pip install lxml


# Fetch unified installer
RUN wget -O Plone.tgz https://launchpad.net/plone/$PLONE_MAJOR/$PLONE_VERSION/+download/Plone-$PLONE_VERSION-UnifiedInstaller.tgz \
    && echo "$PLONE_MD5 Plone.tgz" | md5sum -c - \
    && tar -xzf Plone.tgz \
    && cp -rv /Plone-$PLONE_VERSION-UnifiedInstaller/base_skeleton/* $SENAITE_INSTANCE_HOME \
    && cp -v /Plone-$PLONE_VERSION-UnifiedInstaller/buildout_templates/buildout.cfg $SENAITE_INSTANCE_HOME/buildout-base.cfg \
    && cd $SENAITE_HOME \
    && tar -xjf /Plone-$PLONE_VERSION-UnifiedInstaller/packages/buildout-cache.tar.bz2 \
    && rm -rf /Plone-$PLONE_VERSION-UnifiedInstaller /Plone.tgz

# Change working directory
WORKDIR $SENAITE_INSTANCE_HOME

# Copy Buildout
COPY bootstrap.py buildout.cfg ./

COPY src ./src

# Bootstrap and buildout
RUN python bootstrap.py \
    && bin/buildout \
    && ln -s $SENAITE_FILESTORAGE/ var/filestorage \
    && ln -s $SENAITE_BLOBSTORAGE/ var/blobstorage \
    && chown -R senaite:senaite $SENAITE_HOME $SENAITE_DATA \
    && rm -rf $SENAITE_HOME/buildout-cache/downloads/dist

# Mount external volume
VOLUME /data

# Copy startup scripts
COPY docker-initialize.py docker-entrypoint.sh /

# Expose instance port
EXPOSE 8080

# Add instance healthcheck
HEALTHCHECK --interval=1m --timeout=5s --start-period=1m \
  CMD nc -z -w5 127.0.0.1 8080 || exit 1

ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["start"]

Anyhelp will be highly welcome.

Any follow up on this? Trying to add the Senaite Patient add on to senaite docker version 2.1.0.