Затирание происходит, только если копирование с помощью COPY выполняется в ту же папку, на которую потом после запуска будут применены volumes из docker-compose,
например, у вас тако Dockerfile:
WORKDIR "/var/www/html/site"
#......разные команды
WORKDIR "~"
COPY cmdrun.sh cmdrun.sh
RUN chmod +x cmdrun.sh
CMD ./cmdrun.sh
И такой docker-compose: