Cannot delete files on docker host

I’m using the following shell script to extract my databases in the entrypoint and startup the container.

#!/bin/bash
if [ ! -d "/var/lib/mysql/assetmanager" ]; then
tar -zxvf mysql.tar.gz
fi
exec /usr/bin/mysqld_safe

On startup I mount a local directory to the /var/lib/mysql directory with the -v parameter and extract then the files with the above script.
But now I can’t delete the extracted files on my host, because permission denied error.
Can someone help me with this problem.

  • What is overlay network and how does DNS resolution work?
  • Insert transaction from demo does not work for me (docker kartoza)
  • Can't make nginx and php-fpm dockers communicate
  • Access NFS files from Docker
  • lxc-start: Invalid argument - failed to clone
  • how to set the service mode when using docker compose?
  • Thx

  • How can i persist my logs/data to local filesystem in docker
  • Docker containers exiting without identifiable cause (Django web application)
  • Is it possible to start a stopped container from another container
  • Apache Connection Refused when running Docker-client Java API
  • docker --insecure-registry flag not working as expected
  • Mono.Btls.MonoBtlsException: Ssl error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED
  • One Solution collect form web for “Cannot delete files on docker host”

    You cannot delete them because by default process in container executed by root user and extracted files belong to root. if you don’t need these files in mapped dir, use different location for it -v …:/myassets and in script:

    if [ ! -d "/var/lib/mysql/assetmanager" ]; then
    tar -zxvf /myassets/mysql.tar.gz
    fi
    

    you also could map a single file instead of whole directory if you need only that file.

    There are many other solutions, depends what you need:

    • you could delete these files as root: sudo rm …
    • you could delete them in container before exit
    • you could create user in container and create files from this user
    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.