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/_vendor/modules.txt b/_vendor/modules.txt index 6bd7896d1e6b..ef5eccf8c37b 100644 --- a/_vendor/modules.txt +++ b/_vendor/modules.txt @@ -1,6 +1,6 @@ # github.com/moby/moby v27.3.1+incompatible # github.com/moby/buildkit v0.16.0 -# github.com/docker/buildx v0.17.0 +# github.com/docker/buildx v0.17.1 # github.com/docker/cli v27.3.1+incompatible # github.com/docker/compose/v2 v2.29.6 # github.com/docker/scout-cli v1.13.0 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/get-started/docker-concepts/building-images/multi-stage-builds.md b/content/get-started/docker-concepts/building-images/multi-stage-builds.md index 6ddc5522e2d8..f50bd040dc85 100644 --- a/content/get-started/docker-concepts/building-images/multi-stage-builds.md +++ b/content/get-started/docker-concepts/building-images/multi-stage-builds.md @@ -75,8 +75,6 @@ In this hands-on guide, you'll unlock the power of multi-stage builds to create ```plaintext spring-boot-docker - ├── Dockerfile - ├── Dockerfile.multi ├── HELP.md ├── mvnw ├── mvnw.cmd @@ -86,7 +84,7 @@ In this hands-on guide, you'll unlock the power of multi-stage builds to create │ ├── java │ │ └── com │ │ └── example - │ │ └── springbootdocker + │ │ └── spring_boot_docker │ │ └── SpringBootDockerApplication.java │ └── resources │ ├── application.properties @@ -96,10 +94,10 @@ In this hands-on guide, you'll unlock the power of multi-stage builds to create └── java └── com └── example - └── springbootdocker + └── spring_boot_docker └── SpringBootDockerApplicationTests.java - 15 directories, 9 files + 15 directories, 7 files ``` The `src/main/java` directory contains your project's source code, the `src/test/java` directory @@ -112,12 +110,12 @@ In this hands-on guide, you'll unlock the power of multi-stage builds to create 4. Create a RESTful web service that displays "Hello World!". - Under the `src/main/java/com/example/springbootdocker/` directory, you can modify your + Under the `src/main/java/com/example/spring_boot_docker/` directory, you can modify your `SpringBootDockerApplication.java` file with the following content: ```java - package com.example.springbootdocker; + package com.example.spring_boot_docker; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -141,7 +139,7 @@ In this hands-on guide, you'll unlock the power of multi-stage builds to create } ``` - The `SpringbootDockerApplication.java` file starts by declaring your `com.example.springbootdocker` package and importing necessary Spring frameworks. This Java file creates a simple Spring Boot web application that responds with "Hello World" when a user visits its homepage. + The `SpringbootDockerApplication.java` file starts by declaring your `com.example.spring_boot_docker` package and importing necessary Spring frameworks. This Java file creates a simple Spring Boot web application that responds with "Hello World" when a user visits its homepage. ### Create the Dockerfile @@ -238,20 +236,21 @@ Now that you have the project, you’re ready to create the `Dockerfile`. You'll then see output similar to the following in the container log: ```plaintext - [INFO] --- spring-boot:3.3.0-M3:run (default-cli) @ spring-boot-docker --- + [INFO] --- spring-boot:3.3.4:run (default-cli) @ spring-boot-docker --- [INFO] Attaching agents: [] - . ____ _ __ _ _ - /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ - ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ - \\/ ___)| |_)| | | | | || (_| | ) ) ) ) - ' |____| .__|_| |_|_| |_\__, | / / / / - =========|_|==============|___/=/_/_/_/ - - :: Spring Boot :: (v3.3.0-M3) - - 2024-04-04T15:36:47.202Z INFO 42 --- [spring-boot-docker] [ main] - c.e.s.SpringBootDockerApplication : Starting SpringBootDockerApplication using Java - 21.0.2 with PID 42 (/app/target/classes started by root in /app) + + . ____ _ __ _ _ + /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ + ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ + \\/ ___)| |_)| | | | | || (_| | ) ) ) ) + ' |____| .__|_| |_|_| |_\__, | / / / / + =========|_|==============|___/=/_/_/_/ + + :: Spring Boot :: (v3.3.4) + + 2024-09-29T23:54:07.157Z INFO 159 --- [spring-boot-docker] [ main] + c.e.s.SpringBootDockerApplication : Starting SpringBootDockerApplication using Java + 21.0.2 with PID 159 (/app/target/classes started by root in /app) …. ``` diff --git a/content/get-started/workshop/08_using_compose.md b/content/get-started/workshop/08_using_compose.md index 90011a77d1c5..2fb2d57d4a67 100644 --- a/content/get-started/workshop/08_using_compose.md +++ b/content/get-started/workshop/08_using_compose.md @@ -36,7 +36,7 @@ In the `getting-started-app` directory, create a file named `compose.yaml`. ## Define the app service -In [part 7](./07_multi_container.md), you used the following command to start the application service. +In [part 6](./07_multi_container.md), you used the following command to start the application service. ```console $ docker run -dp 127.0.0.1:3000:3000 \ 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/desktop/install/msi/faq.md b/content/manuals/desktop/install/msi/faq.md index f99d10ac00aa..94565b4c8e6f 100644 --- a/content/manuals/desktop/install/msi/faq.md +++ b/content/manuals/desktop/install/msi/faq.md @@ -42,3 +42,35 @@ You can suppress reboots by using the `/norestart` option when launching the ins ```powershell msiexec /i "DockerDesktop.msi" /L*V ".\msi.log" /norestart ``` + +### Why isn't the `docker-users` group populated when the MSI is installed with Intune or another MDM solution? + +It's common for MDM solutions to install applications in the context of the system account. This means that the `docker-users` group isn't populated with the user's account, as the system account doesn't have access to the user's context. + +As an example, you can reproduce this by running the installer with `psexec` in an elevated command prompt: + +```powershell +psexec -i -s msiexec /i "DockerDesktop.msi" +``` +The installation should complete successfully, but the `docker-users` group won't be populated. + +As a workaround, you can create a script that runs in the context of the user account. + +The script would be responsible for creating the `docker-users` group and populating it with the correct user. + +Here's an example script that creates the `docker-users` group and adds the current user to it (requirements may vary depending on environment): + +```powershell +$Group = "docker-users" +$CurrentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name + +# Create the group +New-LocalGroup -Name $Group + +# Add the user to the group +Add-LocalGroupMember -Group $Group -Member $CurrentUser +``` + +> [!NOTE] +> +> After adding a new user to the `docker-users` group, the user must sign out and then sign back in for the changes to take effect. \ No newline at end of file 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/manuals/scout/policy/_index.md b/content/manuals/scout/policy/_index.md index 596e2ec8f619..afed23f95d7b 100644 --- a/content/manuals/scout/policy/_index.md +++ b/content/manuals/scout/policy/_index.md @@ -145,13 +145,17 @@ The list includes the following vulnerabilities: - [CVE-2023-38545 (cURL SOCKS5 heap buffer overflow)](https://scout.docker.com/v/CVE-2023-38545) - [CVE-2023-44487 (HTTP/2 Rapid Reset)](https://scout.docker.com/v/CVE-2023-44487) - [CVE-2024-3094 (XZ backdoor)](https://scout.docker.com/v/CVE-2024-3094) +- [CVE-2024-47176 (OpenPrinting - cups-browsed)](https://scout.docker.com/v/CVE-2024-47176) +- [CVE-2024-47076 (OpenPrinting - libcupsfilters)](https://scout.docker.com/v/CVE-2024-47076) +- [CVE-2024-47175 (OpenPrinting- libppd)](https://scout.docker.com/v/CVE-2024-47175) +- [CVE-2024-47177 (OpenPrinting - cups-filters)](https://scout.docker.com/v/CVE-2024-47177) You can configure the CVEs included in this list by creating a custom policy. Custom configuration options include: -- **CVEs to avoid**: Specify the CVEs that you want to avoid in your artifacts. +- **Excluded CVEs**: Specify the CVEs that you want this policy to ignore. - Default: `CVE-2014-0160`, `CVE-2021-44228`, `CVE-2023-38545`, `CVE-2023-44487`, `CVE-2024-3094` + Default: `[]` (none of the high-profile CVEs are ignored) - **CISA KEV**: Enable tracking of vulnerabilities from CISA's Known Exploited Vulnerabilities (KEV) catalog 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..bb24453ba25e 100644 --- a/go.mod +++ b/go.mod @@ -1,11 +1,9 @@ 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 + github.com/docker/buildx v0.17.1 // indirect github.com/docker/cli v27.3.1+incompatible // indirect github.com/docker/compose/v2 v2.29.6 // indirect github.com/docker/scout-cli v1.13.0 // indirect @@ -14,7 +12,7 @@ require ( ) replace ( - github.com/docker/buildx => github.com/docker/buildx v0.17.0 + github.com/docker/buildx => github.com/docker/buildx v0.17.1 github.com/docker/cli => github.com/docker/cli v27.3.1+incompatible github.com/docker/compose/v2 => github.com/docker/compose/v2 v2.29.2 github.com/docker/scout-cli => github.com/docker/scout-cli v1.13.0 diff --git a/go.sum b/go.sum index ffb89661e209..8259a1d72de5 100644 --- a/go.sum +++ b/go.sum @@ -80,6 +80,8 @@ github.com/docker/buildx v0.16.2 h1:SPcyEiiCZEntJQ+V0lJI8ZudUrki2v1qUqmC/NqxDDs= github.com/docker/buildx v0.16.2/go.mod h1:by+CuE4Q+2NvECkIhNcWe89jjbHADCrDlzS9MRgbv2k= github.com/docker/buildx v0.17.0 h1:Z+QQxsJJPldaeU/4aNXoudFwDDK0/ALFYmDcP5q5fiY= github.com/docker/buildx v0.17.0/go.mod h1:sBKkoZFs+R2D6ARyQ4/GE/FQHHFsl9PkHdvv/GXAsMo= +github.com/docker/buildx v0.17.1 h1:9ob2jGp4+W9PxWw68GsoNFp+eYFc7eUoRL9VljLCSM4= +github.com/docker/buildx v0.17.1/go.mod h1:kJOhOhS47LRvrLFRulFiO5SE6VJf54yYMn7DzjgO5W0= github.com/docker/cli v24.0.2+incompatible h1:QdqR7znue1mtkXIJ+ruQMGQhpw2JzMJLRXp6zpzF6tM= github.com/docker/cli v24.0.2+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/cli v24.0.4+incompatible h1:Y3bYF9ekNTm2VFz5U/0BlMdJy73D+Y1iAAZ8l63Ydzw= 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 @@
- {{ partialCached "icon" "done" "done" }}
+ {{ partialCached "icon" "check" "check" }}
{{- T "requestChanges" -}}
diff --git a/layouts/partials/pagination.html b/layouts/partials/pagination.html
index a3f203e264ae..de276f98ccc3 100644
--- a/layouts/partials/pagination.html
+++ b/layouts/partials/pagination.html
@@ -11,7 +11,7 @@