I have a Dockerfile (https://gist.github.com/hasMobi/e198555704ee57e84399) that have these two commands in sequence:
RUN rm -frv /usr/share/nginx/html/* RUN ls /
I had a similar issue:
RUN rm -rf /full/path RUN ln -s /other /full/path
This fails because "/full/path" still exists on the second RUN. This workaround works:
RUN rm -rf /full/path; ln -s /other /full/path
I don't understand the behavior but was able to work around it in my case.