diff --git a/.vale.ini b/.vale.ini
index c8101f4fb288..710e13b2ff2f 100644
--- a/.vale.ini
+++ b/.vale.ini
@@ -3,7 +3,15 @@ MinAlertLevel = suggestion
Vocab = Docker
-Packages = Hugo
-
[*.md]
BasedOnStyles = Vale, Docker
+# Exclude `{{< ... >}}`, `{{% ... %}}`, [Who]({{< ... >}})
+TokenIgnores = ({{[%<] .* [%>]}}.*?{{[%<] ?/.* [%>]}}), \
+(\[.+\]\({{< .+ >}}\)), \
+[^\S\r\n]({{[%<] \w+ .+ [%>]}})\s, \
+[^\S\r\n]({{[%<](?:/\*) .* (?:\*/)[%>]}})\s, \
+(?sm)({{[%<] .*?\s[%>]}})
+
+# Exclude `{{< myshortcode `This is some HTML, ... >}}`
+BlockIgnores = (?sm)^({{[%<] \w+ [^{]*?\s[%>]}})\n$, \
+(?s) *({{< highlight [^>]* ?>}}.*?{{< ?/ ?highlight >}})
diff --git a/Dockerfile b/Dockerfile
index 9dafa32d3138..58f4768e1c1e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -4,7 +4,7 @@
# ALPINE_VERSION sets the Alpine Linux version for all Alpine stages
ARG ALPINE_VERSION=3.20
# GO_VERSION sets the Go version for the base stage
-ARG GO_VERSION=1.22
+ARG GO_VERSION=1.23
# HTML_TEST_VERSION sets the wjdp/htmltest version for HTML testing
ARG HTMLTEST_VERSION=0.17.0
@@ -21,7 +21,7 @@ RUN npm install
# hugo downloads and extracts the Hugo binary
FROM base AS hugo
-ARG HUGO_VERSION=0.132.0
+ARG HUGO_VERSION=0.134.3
ARG TARGETARCH
WORKDIR /tmp/hugo
RUN wget -O "hugo.tar.gz" "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-${TARGETARCH}.tar.gz"
@@ -45,7 +45,7 @@ ARG DOCS_URL
RUN hugo --gc --minify -d /out -e $HUGO_ENV -b $DOCS_URL
# lint lints markdown files
-FROM davidanson/markdownlint-cli2:v0.13.0 AS lint
+FROM davidanson/markdownlint-cli2:v0.14.0 AS lint
USER root
RUN --mount=type=bind,target=. \
/usr/local/bin/markdownlint-cli2 \
@@ -123,7 +123,7 @@ EOT
# pagefind installs the Pagefind runtime
FROM base AS pagefind
-ARG PAGEFIND_VERSION=1.1.0
+ARG PAGEFIND_VERSION=1.1.1
COPY --from=build /out ./public
RUN --mount=type=bind,src=pagefind.yml,target=pagefind.yml \
npx pagefind@v${PAGEFIND_VERSION} --output-path "/pagefind"
diff --git a/_vale/Docker/Acronyms.yml b/_vale/Docker/Acronyms.yml
index 337fe998a1de..c1fa32d44838 100644
--- a/_vale/Docker/Acronyms.yml
+++ b/_vale/Docker/Acronyms.yml
@@ -4,13 +4,14 @@ link: https://docs.docker.com/contribute/style/grammar/#acronyms-and-initialisms
level: warning
ignorecase: false
# Ensures that the existence of 'first' implies the existence of 'second'.
-first: '\b[^!]([A-Z]{3,5})\b'
-second: '(?:\b[A-Za-z]+(?: |\n))+\(([A-Z]{3,5})\)'
+first: '\b([A-Z]{3,5})\b'
+second: '(?:\b[A-Z][a-z]+ )+\(([A-Z]{3,5})\)'
# ... with the exception of these:
exceptions:
- API
- ARM
- ASP
+ - AUFS
- AWS
- BIOS
- CLI
@@ -45,6 +46,7 @@ exceptions:
- LESS
- LLDB
- NET
+ - NFS
- NOTE
- NVDA
- OSS
@@ -62,16 +64,19 @@ exceptions:
- SCSS
- SDK
- SQL
+ - SSD
- SSH
- SSL
- SVG
- TBD
- TCP
+ - TIP
- TODO
- TTY
- URI
- URL
- USB
+ - USD
- UTF
- VAT
- WSL
diff --git a/_vale/config/vocabularies/Docker/accept.txt b/_vale/config/vocabularies/Docker/accept.txt
index b6c03f848c08..35a06b4664e0 100644
--- a/_vale/config/vocabularies/Docker/accept.txt
+++ b/_vale/config/vocabularies/Docker/accept.txt
@@ -1,7 +1,6 @@
A?GPL(v3)?
APIs?
ARM
-Netplan
AWS
Admin Console
Amazon
@@ -12,6 +11,7 @@ Artifactory
Autobuild
Autotest
Azure
+Btrfs
BuildKit
BusyBox
CISA
@@ -35,7 +35,6 @@ Ddosify
Debootstrap
Dev Environments?
Django
-Docker's
Docker Build Cloud
Docker Business
Docker Dasboard
@@ -45,6 +44,7 @@ Docker Extension
Docker Hub
Docker Scout
Docker Team
+Docker's
Docker-Sponsored Open Source
Dockerfile
Dockerize
@@ -83,6 +83,7 @@ Mail(chimp|gun)
Microsoft
MySQL
NAT
+Netplan
Nginx
Nuxeo
OAuth
@@ -176,6 +177,7 @@ npm
osquery
osxfs
runc
+snapshotters?
stdin
stdout
subnet
diff --git a/content/contribute/components/icons.md b/content/contribute/components/icons.md
index e32937495fe9..b89533075d26 100644
--- a/content/contribute/components/icons.md
+++ b/content/contribute/components/icons.md
@@ -57,11 +57,11 @@ grid:
icon: "database"
description: Icon name = database
- title: "logs"
- icon: "feed"
- description: Icon name = feed
+ icon: "text_snippet"
+ description: Icon name = text_snippet
- title: "Prune/cut"
- icon: "cut"
- description: Icon name = cut
+ icon: "content_cut"
+ description: Icon name = content_cut
- title: "Configure"
icon: "tune"
description: Icon name = tune
diff --git a/content/manuals/admin/organization/_index.md b/content/manuals/admin/organization/_index.md
index 605c5eb2690d..53cec8882596 100644
--- a/content/manuals/admin/organization/_index.md
+++ b/content/manuals/admin/organization/_index.md
@@ -15,7 +15,7 @@ grid:
link: /admin/organization/members/
- title: Activity logs
description: Learn how to audit the activities of your members.
- icon: feed
+ icon: text_snippet
link: /admin/organization/activity-logs/
- title: Image Access Management
description: Control which types of images your developers can pull.
diff --git a/content/manuals/engine/_index.md b/content/manuals/engine/_index.md
index 689e64f4fec1..6a2e265d7f9e 100644
--- a/content/manuals/engine/_index.md
+++ b/content/manuals/engine/_index.md
@@ -19,11 +19,11 @@ grid:
link: /network
- title: Container logs
description: Learn how to view and read container logs.
- icon: feed
+ icon: text_snippet
link: /config/containers/logging/
- title: Prune
description: Tidy up unused resources.
- icon: cut
+ icon: content_cut
link: /config/pruning
- title: Configure the daemon
description: Delve into the configuration options of the Docker daemon.
diff --git a/content/manuals/engine/storage/drivers/device-mapper-driver.md b/content/manuals/engine/storage/drivers/device-mapper-driver.md
index d87da68950bb..3b0dfb29d34e 100644
--- a/content/manuals/engine/storage/drivers/device-mapper-driver.md
+++ b/content/manuals/engine/storage/drivers/device-mapper-driver.md
@@ -145,10 +145,11 @@ After you have satisfied the [prerequisites](#prerequisites), follow the steps
below to configure Docker to use the `devicemapper` storage driver in
`direct-lvm` mode.
-> [!WARNING]: Changing the storage driver makes any containers you have already
- created inaccessible on the local system. Use `docker save` to save containers,
- and push existing images to Docker Hub or a private repository, so you do not
- need to recreate them later.
+> [!WARNING]
+> Changing the storage driver makes any containers you have already
+> created inaccessible on the local system. Use `docker save` to save containers,
+> and push existing images to Docker Hub or a private repository, so you do not
+> need to recreate them later.
#### Allow Docker to configure direct-lvm mode
@@ -191,8 +192,9 @@ See all storage options for each storage driver in the
Restart Docker for the changes to take effect. Docker invokes the commands to
configure the block device for you.
-> [!WARNING]: Changing these values after Docker has prepared the block device
-> for you is not supported and causes an error.
+> [!WARNING]
+> Changing these values after Docker has prepared the block device for you is
+> not supported and causes an error.
You still need to [perform periodic maintenance tasks](#manage-devicemapper).
@@ -227,8 +229,9 @@ assumes that the Docker daemon is in the `stopped` state.
4. Create a physical volume on your block device from step 1, using the
`pvcreate` command. Substitute your device name for `/dev/xvdf`.
- > [!WARNING]: The next few steps are destructive, so be sure that you have
- > specified the correct device!
+ > [!WARNING]
+ > The next few steps are destructive, so be sure that you have specified
+ > the correct device.
```console
$ sudo pvcreate /dev/xvdf
@@ -651,7 +654,8 @@ $ sudo lvchange -ay docker/thinpool
## How the `devicemapper` storage driver works
-> [!WARNING]: Do not directly manipulate any files or directories within
+> [!WARNING]
+> Do not directly manipulate any files or directories within
> `/var/lib/docker/`. These files and directories are managed by Docker.
Use the `lsblk` command to see the devices and their pools, from the operating
@@ -835,7 +839,7 @@ storage driver.
files generated by a container are still stored in Docker's dataroot directory,
by default `/var/lib/docker`. If your containers generate lots of log messages,
this may lead to increased disk usage or the inability to manage your system due
- to a full disk. You can configure a
+ to a full disk. You can configure a
[log driver](/manuals/engine/logging/configure.md) to store your container
logs externally.
diff --git a/content/reference/compose-file/_index.md b/content/reference/compose-file/_index.md
index c85c63670ca3..f29f59f40235 100644
--- a/content/reference/compose-file/_index.md
+++ b/content/reference/compose-file/_index.md
@@ -10,7 +10,7 @@ toc_min: 1
grid:
- title: Version and name top-level element
description: Understand version and name attributes for Compose.
- icon: feed
+ icon: text_snippet
link: /reference/compose-file/version-and-name/
- title: Services top-level element
description: Explore all services attributes for Compose.
diff --git a/go.mod b/go.mod
index f3b04359a2e9..e40c802f8750 100644
--- a/go.mod
+++ b/go.mod
@@ -1,8 +1,6 @@
module github.com/docker/docs
-go 1.21.0
-
-toolchain go1.22.5
+go 1.23.1
require (
github.com/docker/buildx v0.17.0 // indirect
diff --git a/layouts/_default/_markup/render-codeblock.html b/layouts/_default/_markup/render-codeblock.html
index d13518ac607f..ce6e243cb48e 100644
--- a/layouts/_default/_markup/render-codeblock.html
+++ b/layouts/_default/_markup/render-codeblock.html
@@ -21,7 +21,7 @@