instruction: Create a Dockerfile for Alpine Linux with production best practices
output: ```dockerfile
  from
  writing to the mount.Bind mounts are created to the Docker daemon host, not the client.If you're using a remote Docker daemon, you can't create a bind mount to
  access files on the client machine in a container.For Docker Desktop, the daemon runs inside a Linux VM, not directly on the
  native host. Docker Desktop has built-in mechanisms that transparently handle
  bind mounts, allowing you to share native host filesystem paths with
  containers running in the virtual machine.Containers with bind mounts are strongly tied to the host.Bind mounts rely on the host machine's filesystem having a specific directory
  structure available. This reliance means that containers with bind mounts may
  fail if run on a different host without the same directory structure.SyntaxTo create a bind mount, you can use either the --mount or --volume flag.
  
  $ docker run --mount type=bind,src=<host-path>,dst=<container-path>
  $ docker run --volume <host-path>:<container-path>
  In general, --mount is preferred. The main difference is that the --mount
  flag is more explicit and supports all the available options.If you use --volume to bind-mount a file or directory that does not yet
  exist on the Docker host, Docker automatically creates the directory on the
  host for you. It's always created as a directory.--mount does not automatically create a directory if the specified mount
  path does not exist on the host. Instead, it produces an error:
  
  $ docker run --mount type=bind,src=/dev/noexist,dst=/mnt/foo alpine
  docker: Error response
  ```