instruction: Create a Dockerfile for fundamentals
output: ```dockerfile
  from JSON output. docker/cli#5981client: Keep image references in canonical format where possible. moby/moby#49609DeprecationsAPI: Deprecated AllowNondistributableArtifactsCIDRs and AllowNondistributableArtifactsHostnames fields in the RegistryConfig struct in the GET /info response are omitted in API v1.49. moby/moby#49749API: Deprecated: The ContainerdCommit.Expected, RuncCommit.Expected, and InitCommit.Expected fields in the GET /info endpoint were deprecated in API v1.48, and are now omitted in API v1.49. moby/moby#48556Go-SDK: cli/command/image: Deprecate RunPull: this function was only used internally and will be removed in the next release. docker/cli#5975Go-SDK: cli/config/configfile: deprecate ConfigFile.Experimental field. Experimental CLI features are always enabled since version v20.10 and this field is no longer used. Use ConfigFile.Features instead for optional features. This field will be removed in a future release. docker/cli#5977Go-SDK: deprecate pkg/archive, which was migrated to github.com/moby/go-archive. moby/moby#49743Go-SDK: deprecate pkg/atomicwriter, which was migrated to github.com/moby/sys/atomicwriter. moby/moby#49748Go-SDK: opts: remove deprecated PortOpt, ConfigOpt, SecretOpt aliases. docker/cli#5953Go-SDK: registry: deprecate APIEndpoint.Official field. moby/moby#4970628.0.42025-03-25For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:docker/cli, 28.0.4 milestonemoby/moby, 28.0.4 milestoneBug fixes and enhancementsFix a regression causing docker pull/push to fail when interacting with a private repository. docker/cli#596428.0.32025-03-25For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:docker/cli, 28.0.3 milestonemoby/moby, 28.0.3 milestoneBug fixes and enhancementsFix docker run truncating the STDOUT/STDERR prematurely when the container exits before the data is consumed. docker/cli#5957Packaging updatesUpdate BuildKit to v0.20.2. moby/moby#49698Update runc to v1.2.6. moby/moby#49682Update containerd to v1.7.26. docker/containerd-packaging#40928.0.22025-03-19For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:docker/cli, 28.0.2 milestonemoby/moby, 28.0.2 milestoneBug fixes and enhancementsFix CLI-specific attributes (docker.cli.*) being unintentionally passed to downstream OTel services. docker/cli#5842Fix an issue where user-specified OTEL_RESOURCE_ATTRIBUTES were being overridden by CLI's internal telemetry attributes. The CLI now properly merges user-specified attributes with internal ones, allowing both to coexist. docker/cli#5842Fix the daemon failing to start on Windows when a container created before v28.0.0 was present. moby/moby#49626Fix possible error on docker buildx prune with --min-free-space. moby/moby#49623Fix spurious io: read/write on closed pipe error in the daemon log when closing a container. moby/moby#49590Fix the Docker daemon failing too early if the containerd socket isn't immediately available. moby/moby#49603Mask Linux thermal interrupt info in a container's /proc and /sys by default. moby/moby#49560Update contrib/check-config.sh to check for more kernel modules related to iptables. moby/moby#49622containerd image store: Fix integer overflow in User ID handling passed via --user. moby/moby#49652containerd image store: Fix spurious reference for unknown type: application/vnd.in-toto+json warning being logged to the daemon's log. moby/moby#49652containerd image store: Improve performance of docker ps when running a large number of containers. moby/moby#49365Packaging updatesUpdate BuildKit to v0.20.1. moby/moby#49587Update Buildx to v0.22.0. docker/docker-ce-packaging#1175Update Compose to v2.34.0. docker/docker-ce-packaging#1172Update Go runtime to 1.23.7. docker/cli#5890, docker/docker-ce-packaging#1171, moby/moby#49580Update RootlessKit to v2.3.4. moby/moby#49614Update containerd (static binaries only) to v1.7.27. moby/moby#49656NetworkingAdd the environment variable DOCKER_INSECURE_NO_IPTABLES_RAW=1 to allow Docker to run on systems where the Linux kernel can't provide CONFIG_IP_NF_RAW support. When enabled, Docker will not create rules in the iptables raw table. Warning: This is not recommended for production environments as it reduces security by allowing other hosts on the local network to route to ports published to host addresses, even when they are published to 127.0.0.1. This option bypasses some of the security hardening introduced in Docker Engine 28.0.0. moby/moby#49621Allow container startup when an endpoint is attached to a macvlan network driver where the parent interface is down. moby/moby#49630Do not skip DNAT for packets originating in a gateway_mode=routed network. moby/moby#49577Fix a bug causing docker ps to inconsistently report dual-stack port mappings. moby/moby#49657Fix a bug that could cause docker-proxy to stop forwarding UDP datagrams to containers. moby/moby#49649Fix a bug that was causing docker-proxy to close UDP connections to containers eagerly and resulting in the source address to change needlessly. moby/moby#49649Go SDKMove various types and consts
  ```