instruction: Create a Dockerfile for Alpine Linux with production best practices
output: ```dockerfile
  from the WSL2 engine.Known IssuesFor WindowsWhen upgrading to Docker Desktop 4.31.0, existing containers, images and volumes become invisible for users that created those containers and images using Docker Desktop 4.8.0 or lower, on Windows hosts with WSL only. The data is not lost, it just becomes invisible to Docker Desktop 4.31.0. If impacted, downgrade to version 4.30 or earlier. For more information see: docker/for-win#14118.For LinuxUbuntu 24.04 LTS is not yet supported, Docker Desktop will fail to start. Due to a change in how the latest Ubuntu release restricts the unprivileged namespaces, sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 needs to be ran at least once. Refer to the Ubuntu Blog.4.30.02024-05-06Download Docker DesktopWindows
  (checksum) |
  Windows ARM Beta
  (checksum) |
  Mac
  with Apple chip
  (checksum) |
  Mac
  with Intel chip
  (checksum)
  |
  Debian
  -
  RPM
  -
  Arch
  (checksum)NewFor all platformsDocker Desktop now supports
  SOCKS5 proxies. Requires a Business subscription.Added a new setting to manage the onboarding survey in
  Settings Management.For WindowsAdded support for
  Kerberos and NTLM proxy authentication on Windows. Requires a Business subscription.UpgradesDocker Compose v2.27.0Docker Engine v26.1.1Wasm runtimes:Updated runwasi shims to v0.4.0Updated deislabs shims to v0.11.1Updated spin shim to v0.13.1Docker Scout CLI v1.8.0Docker Debug v0.0.29Linux kernel v6.6.26Go 1.22.2Bug fixes and enhancementsFor all platformsImproved Enhanced Container Isolation (ECI) security when running docker build commands in rootless containers.Fixed a bug where docker events exited with Unexpected EOF when Docker Desktop entered/exited Resource Saver mode.Fixed a bug where docker stats --no-stream hung when Docker Desktop was in Resource Saver mode.Fixed a bug in the self-diagnose CLI that incorrectly showed the VM had not started. Fixes docker/for-mac#7241.Fixed a bug where high-throughput port forward transfers could stall. Fixes docker/for-mac#7207.Fixed CLI-plugin symlinks not being removed when CLI apps were removed.Fixed a bug in the shared ports drawer to show the right message for local engines.Dev Environments is being sunset and has moved to the Beta tab in Features in development.Builds view:Better bulk delete for build records.Added action to open the relevant web page for container images and Git sources in build dependencies.Added action to download Provenance and OpenTelemetry traces in Jaeger or OTLP format.Fixed source details for remote build invocations.Fixed a bug where multi-platform builds would show up as separate records when using a cloud builder.For MacFixed a bug where a segmentation fault was triggered with Virtualization Framework, on post-2019 Macs. See docker/for-mac#6824.Enabled CONFIG_SECURITY=y kernel config, for example for Tetragon. Fixes docker/for-mac#7250.Re-added support for SQUASHFS compression. Fixes docker/for-mac#7260.Fixed a bug that caused a new version of Docker Desktop to be marked as damaged.Increased network MTU when using qemu on Apple Silicon.Fixed a bug preventing Docker Desktop to start if Rosetta was not installed. Fixes docker/for-mac#7243.For WindowsAdded a simplified provisioning mode for WSL2 that avoids the need for the ancillary docker-desktop-data WSL distribution (experimental).Fixed bash completions for the Docker CLI in a WSL environment.Fixed a regression in Docker Desktop 4.28 that caused host files bind-mounted into containers to not show up properly inside the container, when using Docker-in-Docker (via mounts of /var/run/docker.sock) on WSL.Fixed a bug that would cause the following error merging settings: integratedWslDistros type mismatch.Known issuesFor all platformsIf you have enabled a feature in Docker Desktop that requires you to be signed in, such as Host networking you must remain signed in to use Docker Desktop. To continue using Docker Desktop or to modify these settings, ensure you are signed in.To enable or disable Manage Synchronized file shares with Compose, Access experimental features and Manage Synchronized file shares with Compose have to be checked or unchecked at the same time.The Docker CLI will sometimes hang when running a container with the autoremove option (--rm) if the container fails to start (e.g.: docker run --rm alpine invalidcommand). In this case, the CLI process may need to be manually killed.For WindowsWhen starting Docker Desktop as a non-admin user, the following error connect ENOENT \\.\pipe\errorReporter might be triggered if the user is not a member of the docker-users group.
  This can be resolved by adding the user to the docker-users group. Before starting Docker Desktop, make sure to sign out and then sign back in and unregister docker-desktop distribution if that was created, using wsl --unregister docker-desktop.For LinuxUbuntu 24.04 LTS is not yet supported, Docker Desktop will fail to start. Due to a change in how the latest Ubuntu release restricts the unprivileged namespaces, sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 needs to be ran at least once. Refer to the Ubuntu Blog for more details.4.29.02024-04-08Download Docker DesktopWindows
  (checksum) |
  Windows ARM Beta
  (checksum) |
  Mac
  with Apple chip
  (checksum) |
  Mac
  with Intel chip
  (checksum)
  |
  Debian
  -
  RPM
  -
  Arch
  (checksum)NewYou can now enforce Rosetta usage via
  Settings Management.Docker socket mount restrictions with ECI is now generally available.Docker Engine and CLI updated to Moby 26.0. This includes Buildkit 0.13, sub volumes mounts, networking updates, and improvements to the containerd multi-platform image store UX.New and improved Docker Desktop error screens: swift troubleshooting, easy diagnostics uploads, and actionable remediation.Compose supports
  Synchronized file shares (experimental).New
  interactive Compose CLI (experimental).Beta release of:Air-Gapped Containers with
  Settings Management.Host networking in Docker Desktop.Docker Debug for running containers.Volumes Backup & Share extension functionality available in the Volumes tab.UpgradesDocker Compose v2.26.1Docker Scout CLI v1.6.3Docker Engine v26.0.0Buildx v0.13.1Kubernetes v1.29.2cri-dockerd v0.3.11Docker Debug v0.0.27Bug fixes and enhancementsFor all platformsFixed an issue with dropdown menu opening beyond the application window.Docker Init:Updated the formatting of CLI output to improve legibility.Fixed an issue with .dockerignore to avoid ignoring application files that start with "compose".Improved how Java applications are started based on Spring Boot version. Fixes docker/for-mac#7171.Removed non-official Docker image used for Rust cross-compilation.The maximum number of files per
  Synchronized file share now exceeds 2 million.Fixed an issue that caused the warning: "The value provided to Autocomplete is invalid." when selecting the Export to local image field.Run Cloud can now be accessed
  ```