Skip to content

Conversation

@dvdksn
Copy link
Contributor

@dvdksn dvdksn commented Nov 6, 2024

Let's not break the site this time

Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
@github-actions github-actions bot added area/release Relates to CI or deployment hugo Updates related to hugo labels Nov 6, 2024
@netlify
Copy link

netlify bot commented Nov 6, 2024

Deploy Preview for docsdocker ready!

Name Link
🔨 Latest commit db6966c
🔍 Latest deploy log https://app.netlify.com/sites/docsdocker/deploys/672c805460a3dd000813167d
😎 Deploy Preview https://deploy-preview-21353--docsdocker.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link
Member

@crazy-max crazy-max left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you also print

var funcbuf bytes.Buffer

Edit: We don't run releaser on PR but we could have a dry-run mode for it I think.

@dvdksn dvdksn force-pushed the fix-releaser-etoomanyredirects-take2 branch from 55d170a to b27dd74 Compare November 6, 2024 14:16
@dvdksn dvdksn force-pushed the fix-releaser-etoomanyredirects-take2 branch 2 times, most recently from b0e7443 to f8de4cd Compare November 6, 2024 14:25
@dvdksn
Copy link
Contributor Author

dvdksn commented Nov 6, 2024

@crazy-max I added a dumb dry-run mode, and I reverted back to using os.ReadFile - I couldn't get the filecontent tag in kong to work...

Output of cloudfront config with `DRY_RUN=1`
#19 [aws-cloudfront-update 1/1] RUN --mount=type=bind,target=.   --mount=type=bind,from=sitedir,target=/site   --mount=type=bind,from=releaser,source=/out/releaser,target=/usr/bin/releaser   --mount=type=secret,id=AWS_ACCESS_KEY_ID   --mount=type=secret,id=AWS_SECRET_ACCESS_KEY   --mount=type=secret,id=AWS_SESSION_TOKEN   releaser aws cloudfront-update
#19 0.043 INFO: Dry run mode enabled. Lambda Function Definition:
#19 0.043 
#19 0.043 'use strict';
#19 0.043 
#19 0.043 exports.handler = (event, context, callback) => {
#19 0.043     //console.log("event", JSON.stringify(event));
#19 0.043     const request = event.Records[0].cf.request;
#19 0.043     const requestUrl = request.uri.replace(/\/$/, "")
#19 0.043 
#19 0.043     const redirects = JSON.parse(`{"/admin/company/settings/domains/":"/security/for-admins/domain-audit/","/admin/company/settings/group-mapping/":"/security/for-admins/provisioning/group-mapping/","/admin/company/settings/sso-configuration/":"/security/for-admins/single-sign-on/configure/","/admin/company/settings/sso-management/":"/security/for-admins/single-sign-on/manage/","/admin/company/settings/sso/":"/security/for-admins/single-sign-on/","/admin/organization/image-access/":"/security/for-admins/hardened-desktop/image-access-management/","/admin/organization/registry-access/":"/security/for-admins/hardened-desktop/registry-access-management/","/admin/organization/security-settings/domains/":"/security/for-admins/domain-audit/","/admin/organization/security-settings/group-mapping/":"/security/for-admins/provisioning/group-mapping/","/admin/organization/security-settings/sso-configuration/":"/security/for-admins/single-sign-on/configure/","/admin/organization/security-settings/sso-management/":"/security/for-admins/single-sign-on/","/api/swarm-api/":"/engine/swarm/","/articles/baseimages/":"/build/building/base-images/","/articles/certificates/":"/engine/security/certificates/","/articles/chef/":"/engine/daemon/","/articles/configuring/":"/engine/daemon/","/articles/dockerfile_best-practices/":"/build/building/best-practices/","/articles/dsc/":"/engine/daemon/","/articles/host_integration/":"/engine/daemon/proxy/","/articles/https/":"/engine/security/protect-access/","/articles/networking/":"/engine/network/","/articles/puppet/":"/engine/daemon/","/articles/runmetrics/":"/engine/containers/runmetrics/","/articles/security/":"/engine/security/","/articles/systemd/":"/engine/daemon/proxy/","/articles/using_supervisord/":"/engine/containers/multi-service_container/","/billing/cycle/":"/billing/core-billing/cycle/","/billing/details/":"/billing/core-billing/details/","/billing/history/":"/billing/core-billing/history/","/build/architecture/":"/build/concepts/overview/","/build/attestations/":"/build/metadata/attestations/","/build/attestations/sbom/":"/build/metadata/attestations/sbom/","/build/attestations/slsa-provenance/":"/build/metadata/attestations/slsa-provenance/","/build/bake/advanced/":"/build/bake/expressions/","/build/bake/build-contexts/":"/build/bake/contexts/","/build/bake/configuring-build/":"/build/bake/overrides/","/build/bake/hcl-funcs/":"/build/bake/funcs/","/build/building/annotations/":"/build/metadata/annotations/","/build/building/cache/":"/build/cache/","/build/building/cache/backends/":"/build/cache/backends/","/build/building/cache/backends/azblob/":"/build/cache/backends/azblob/","/build/building/cache/backends/gha/":"/build/cache/backends/gha/","/build/building/cache/backends/inline/":"/build/cache/backends/inline/","/build/building/cache/backends/local/":"/build/cache/backends/local/","/build/building/cache/backends/registry/":"/build/cache/backends/registry/","/build/building/cache/backends/s3/":"/build/cache/backends/s3/","/build/building/cache/garbage-collection/":"/build/cache/garbage-collection/","/build/building/context/":"/build/concepts/context/","/build/building/drivers/":"/build/builders/drivers/","/build/building/drivers/docker-container/":"/build/builders/drivers/docker-container/","/build/building/drivers/docker/":"/build/builders/drivers/docker/","/build/building/drivers/kubernetes/":"/build/builders/drivers/kubernetes/","/build/building/drivers/remote/":"/build/builders/drivers/remote/","/build/building/env-vars/":"/build/building/variables/","/build/building/exporters/":"/build/exporters/","/build/building/exporters/image-registry/":"/build/exporters/image-registry/","/build/building/exporters/local-tar/":"/build/exporters/local-tar/","/build/building/exporters/oci-docker/":"/build/exporters/oci-docker/","/build/building/opentelemetry/":"/build/debug/opentelemetry/","/build/building/packaging/":"/build/concepts/dockerfile/","/build/buildkit/color-output-controls/":"/build/building/variables/","/build/buildkit/dockerfile-frontend/":"/build/buildkit/frontend/","/build/buildx/drivers/":"/build/builders/drivers/","/build/buildx/drivers/docker-container/":"/build/builders/drivers/docker-container/","/build/buildx/drivers/docker/":"/build/builders/drivers/docker/","/build/buildx/drivers/kubernetes/":"/build/builders/drivers/kubernetes/","/build/buildx/drivers/remote/":"/build/builders/drivers/remote/","/build/buildx/multiplatform-images/":"/build/building/multi-platform/","/build/buildx/multiple-builders/":"/build/builders/drivers/","/build/ci/github-actions/examples/":"/build/ci/github-actions/","/build/cloud/":"/build-cloud/","/build/cloud/ci/":"/build-cloud/ci/","/build/cloud/faq/":"/build-cloud/","/build/cloud/optimization/":"/build-cloud/optimization/","/build/cloud/setup/":"/build-cloud/setup/","/build/cloud/usage/":"/build-cloud/usage/","/build/customize/bake/":"/build/bake/","/build/customize/bake/build-contexts/":"/build/bake/contexts/","/build/customize/bake/compose-file/":"/build/bake/compose-file/","/build/customize/bake/file-definition/":"/build/bake/reference/","/build/customize/bake/hcl-funcs/":"/build/bake/funcs/","/build/dockerfile/frontend/":"/build/buildkit/frontend/","/build/dockerfile/release-notes/":"/build/buildkit/dockerfile-release-notes/","/build/drivers/":"/build/builders/drivers/","/build/drivers/docker-container/":"/build/builders/drivers/docker-container/","/build/drivers/docker/":"/build/builders/drivers/docker/","/build/drivers/kubernetes/":"/build/builders/drivers/kubernetes/","/build/drivers/remote/":"/build/builders/drivers/remote/","/build/guide/build-args/":"/build/building/variables/","/build/guide/export/":"/build/building/export/","/build/guide/layers/":"/build/cache/","/build/guide/mounts/":"/build/cache/optimize/","/build/guide/multi-platform/":"/build/building/multi-platform/","/build/hellobuild/":"/build/concepts/dockerfile/","/build/install-buildx/":"/build/concepts/overview/","/buildx/working-with-buildx/":"/build/","/ci-cd/best-practices/":"/build/ci/","/ci-cd/github-actions/":"/build/ci/github-actions/","/cloud/aci-compose-features/":"/cloud/","/cloud/aci-container-features/":"/cloud/","/cloud/aci-integration/":"/cloud/","/cloud/ecs-architecture/":"/cloud/","/cloud/ecs-compose-examples/":"/cloud/","/cloud/ecs-compose-features/":"/cloud/","/cloud/ecs-integration/":"/cloud/","/compose/aspnet-mssql-compose/":"/reference/samples/dotnet/","/compose/bundles/":"/reference/cli/docker/stack/deploy/","/compose/cli-command-compatibility/":"/compose/releases/migrate/","/compose/cli-command/":"/compose/","/compose/completion/":"/compose/","/compose/compose-application-model/":"/compose/intro/compose-application-model/","/compose/compose-desktop/":"/compose/install/","/compose/compose-file/":"/reference/compose-file/","/compose/compose-file/02-model/":"/compose/intro/compose-application-model/","/compose/compose-file/04-version-and-name/":"/reference/compose-file/version-and-name/","/compose/compose-file/05-services/":"/reference/compose-file/services/","/compose/compose-file/06-networks/":"/reference/compose-file/networks/","/compose/compose-file/07-volumes/":"/reference/compose-file/volumes/","/compose/compose-file/08-configs/":"/reference/compose-file/configs/","/compose/compose-file/09-secrets/":"/reference/compose-file/secrets/","/compose/compose-file/10-fragments/":"/reference/compose-file/fragments/","/compose/compose-file/11-extension/":"/reference/compose-file/extension/","/compose/compose-file/12-interpolation/":"/reference/compose-file/interpolation/","/compose/compose-file/13-merge/":"/reference/compose-file/merge/","/compose/compose-file/14-include/":"/reference/compose-file/include/","/compose/compose-file/15-profiles/":"/reference/compose-file/profiles/","/compose/compose-file/build/":"/reference/compose-file/build/","/compose/compose-file/compose-file-v1/":"/reference/compose-file/","/compose/compose-file/compose-file-v2/":"/reference/compose-file/legacy-versions/","/compose/compose-file/compose-file-v3/":"/reference/compose-file/legacy-versions/","/compose/compose-file/compose-versioning/":"/reference/compose-file/legacy-versions/","/compose/compose-file/deploy/":"/reference/compose-file/deploy/","/compose/compose-file/develop/":"/reference/compose-file/develop/","/compose/compose-file/legacy-versions/":"/reference/compose-file/legacy-versions/","/compose/compose-linux/":"/compose/install/linux/","/compose/compose-plugin/":"/compose/install/linux/","/compose/compose-v2/":"/compose/releases/migrate/","/compose/compose-yaml-file/":"/compose/intro/compose-application-model/","/compose/django/":"/reference/samples/django/","/compose/env-file/":"/compose/how-tos/environment-variables/variable-interpolation/","/compose/env/":"/compose/how-tos/environment-variables/set-environment-variables/","/compose/environment-variables/":"/compose/how-tos/environment-variables/","/compose/environment-variables/best-practices/":"/compose/how-tos/environment-variables/best-practices/","/compose/environment-variables/env-file/":"/compose/how-tos/environment-variables/variable-interpolation/","/compose/environment-variables/envvars-precedence/":"/compose/how-tos/environment-variables/envvars-precedence/","/compose/environment-variables/envvars/":"/compose/how-tos/environment-variables/envvars/","/compose/environment-variables/set-environment-variables/":"/compose/how-tos/environment-variables/set-environment-variables/","/compose/environment-variables/variable-interpolation/":"/compose/how-tos/environment-variables/variable-interpolation/","/compose/envvars-precedence/":"/compose/how-tos/environment-variables/envvars-precedence/","/compose/extends/":"/compose/how-tos/multiple-compose-files/extends/","/compose/faq/":"/compose/support-and-feedback/faq/","/compose/features-uses/":"/compose/intro/features-uses/","/compose/feedback/":"/compose/support-and-feedback/feedback/","/compose/file-watch/":"/compose/how-tos/file-watch/","/compose/gpu-support/":"/compose/how-tos/gpu-support/","/compose/history/":"/compose/intro/history/","/compose/install/compose-desktop/":"/compose/install/","/compose/install/other/":"/compose/install/","/compose/link-env-deprecated/":"/compose/how-tos/environment-variables/set-environment-variables/","/compose/migrate/":"/compose/releases/migrate/","/compose/multiple-compose-files/":"/compose/how-tos/multiple-compose-files/","/compose/multiple-compose-files/extends/":"/compose/how-tos/multiple-compose-files/extends/","/compose/multiple-compose-files/include/":"/compose/how-tos/multiple-compose-files/include/","/compose/multiple-compose-files/merge/":"/compose/how-tos/multiple-compose-files/merge/","/compose/networking/":"/compose/how-tos/networking/","/compose/networking/swarm/":"/compose/","/compose/overview/":"/compose/","/compose/production/":"/compose/how-tos/production/","/compose/profiles/":"/compose/how-tos/profiles/","/compose/project-name/":"/compose/how-tos/project-name/","/compose/reference/":"/reference/cli/docker/compose/","/compose/reference/build/":"/reference/cli/docker/compose/build/","/compose/reference/config/":"/reference/cli/docker/compose/config/","/compose/reference/create/":"/reference/cli/docker/compose/create/","/compose/reference/docker-compose/":"/reference/cli/docker/compose/","/compose/reference/down/":"/reference/cli/docker/compose/down/","/compose/reference/envvars/":"/compose/how-tos/environment-variables/envvars/","/compose/reference/events/":"/reference/cli/docker/compose/events/","/compose/reference/exec/":"/reference/cli/docker/compose/exec/","/compose/reference/help/":"/reference/cli/docker/compose/","/compose/reference/images/":"/reference/cli/docker/compose/images/","/compose/reference/kill/":"/reference/cli/docker/compose/kill/","/compose/reference/logs/":"/reference/cli/docker/compose/logs/","/compose/reference/pause/":"/reference/cli/docker/compose/pause/","/compose/reference/port/":"/reference/cli/docker/compose/port/","/compose/reference/ps/":"/reference/cli/docker/compose/ps/","/compose/reference/pull/":"/reference/cli/docker/compose/pull/","/compose/reference/push/":"/reference/cli/docker/compose/push/","/compose/reference/restart/":"/reference/cli/docker/compose/restart/","/compose/reference/rm/":"/reference/cli/docker/compose/rm/","/compose/reference/run/":"/reference/cli/docker/compose/run/","/compose/reference/scale/":"/reference/cli/docker/compose/up/","/compose/reference/start/":"/reference/cli/docker/compose/start/","/compose/reference/stop/":"/reference/cli/docker/compose/stop/","/compose/reference/top/":"/reference/cli/docker/compose/top/","/compose/reference/unpause/":"/reference/cli/docker/compose/unpause/","/compose/reference/up/":"/reference/cli/docker/compose/up/","/compose/release-notes/":"/compose/releases/release-notes/","/compose/samples-for-compose/":"/compose/support-and-feedback/samples-for-compose/","/compose/startup-order/":"/compose/how-tos/startup-order/","/compose/swarm/":"/compose/","/compose/use-secrets/":"/compose/how-tos/use-secrets/","/compose/wordpress/":"/reference/samples/wordpress/","/compose/yaml/":"/reference/compose-file/","/config/completion/":"/engine/cli/completion/","/config/containers/bridges/":"/engine/network/drivers/bridge/","/config/containers/container-networking/":"/engine/network/","/config/containers/live-restore/":"/engine/daemon/live-restore/","/config/containers/logging/":"/engine/logging/","/config/containers/logging/awslogs/":"/engine/logging/drivers/awslogs/","/config/containers/logging/configure/":"/engine/logging/configure/","/config/containers/logging/dual-logging/":"/engine/logging/dual-logging/","/config/containers/logging/etwlogs/":"/engine/logging/drivers/etwlogs/","/config/containers/logging/fluentd/":"/engine/logging/drivers/fluentd/","/config/containers/logging/gcplogs/":"/engine/logging/drivers/gcplogs/","/config/containers/logging/gelf/":"/engine/logging/drivers/gelf/","/config/containers/logging/journald/":"/engine/logging/drivers/journald/","/config/containers/logging/json-file/":"/engine/logging/drivers/json-file/","/config/containers/logging/local/":"/engine/logging/drivers/local/","/config/containers/logging/log_tags/":"/engine/logging/log_tags/","/config/containers/logging/logentries/":"/engine/logging/configure/","/config/containers/logging/plugins/":"/engine/logging/plugins/","/config/containers/logging/splunk/":"/engine/logging/drivers/splunk/","/config/containers/logging/syslog/":"/engine/logging/drivers/syslog/","/config/containers/macvlan/":"/engine/network/drivers/macvlan/","/config/containers/multi-service_container/":"/engine/containers/multi-service_container/","/config/containers/overlay/":"/engine/network/drivers/overlay/","/config/containers/resource_constraints/":"/engine/containers/resource_constraints/","/config/containers/runmetrics/":"/engine/containers/runmetrics/","/config/containers/start-containers-automatically/":"/engine/containers/start-containers-automatically/","/config/daemon/":"/engine/daemon/","/config/daemon/ipv6/":"/engine/daemon/ipv6/","/config/daemon/logs/":"/engine/daemon/logs/","/config/daemon/prometheus/":"/engine/daemon/prometheus/","/config/daemon/proxy/":"/engine/daemon/proxy/","/config/daemon/remote-access/":"/engine/daemon/remote-access/","/config/daemon/start/":"/engine/daemon/start/","/config/daemon/systemd/":"/engine/daemon/proxy/","/config/daemon/troubleshooting/":"/engine/daemon/troubleshoot/","/config/filter/":"/engine/cli/filter/","/config/formatting/":"/engine/cli/formatting/","/config/labels-custom-metadata/":"/engine/manage-resources/labels/","/config/otel/":"/engine/cli/otel/","/config/pruning/":"/engine/manage-resources/pruning/","/config/thirdparty/":"/engine/daemon/","/config/thirdparty/ansible/":"/engine/daemon/","/config/thirdparty/chef/":"/engine/daemon/","/config/thirdparty/dsc/":"/engine/daemon/","/config/thirdparty/monitoring/":"/engine/daemon/prometheus/","/config/thirdparty/prometheus/":"/engine/daemon/prometheus/","/config/thirdparty/puppet/":"/engine/daemon/","/contribute/contribute-guide/":"/contribute/","/contribute/overview/":"/contribute/","/cs-engine/":"/engine/install/","/cs-engine/1.12/":"/engine/install/","/cs-engine/1.12/release-notes/":"/engine/release-notes/prior-releases/","/cs-engine/1.12/release-notes/prior-release-notes/":"/engine/release-notes/prior-releases/","/cs-engine/1.12/release-notes/release-notes/":"/engine/release-notes/prior-releases/","/cs-engine/1.12/upgrade/":"/engine/install/","/cs-engine/1.13/":"/engine/install/","/cs-engine/1.13/release-notes/":"/engine/release-notes/prior-releases/","/cs-engine/1.13/upgrade/":"/engine/install/","/datacenter/ucp/2.2/guides/admin/monitor-and-troubleshoot/troubleshoot-task-state/":"/engine/swarm/how-swarm-mode-works/swarm-task-states/","/desktop/allow-list/":"/desktop/setup/allow-list/","/desktop/backup-and-restore.md":"/desktop/settings-and-maintenance/backup-and-restore/","/desktop/dashboard/":"/desktop/use-desktop/","/desktop/dev-environments/create-compose-dev-env/":"/desktop/dev-environments/create-dev-env/","/desktop/enterprise/admin/configure/mac-admin/":"/desktop/enterprise/","/desktop/enterprise/admin/configure/windows-admin/":"/desktop/enterprise/","/desktop/enterprise/admin/install/mac/":"/desktop/enterprise/","/desktop/enterprise/app-designer/":"/desktop/enterprise/","/desktop/enterprise/release-notes/":"/desktop/enterprise/","/desktop/enterprise/troubleshoot/mac-issues/":"/desktop/enterprise/","/desktop/enterprise/troubleshoot/windows-issues/":"/desktop/enterprise/","/desktop/enterprise/user/mac-user/":"/desktop/enterprise/","/desktop/enterprise/user/windows-user/":"/desktop/enterprise/","/desktop/extensions-sdk/":"/extensions/extensions-sdk/","/desktop/extensions-sdk/architecture/":"/extensions/extensions-sdk/architecture/","/desktop/extensions-sdk/architecture/metadata/":"/extensions/extensions-sdk/architecture/metadata/","/desktop/extensions-sdk/architecture/security/":"/extensions/extensions-sdk/architecture/security/","/desktop/extensions-sdk/build/backend-extension-tutorial/":"/extensions/extensions-sdk/build/backend-extension-tutorial/","/desktop/extensions-sdk/build/build-install/":"/extensions/extensions-sdk/extensions/validate/","/desktop/extensions-sdk/build/frontend-extension-tutorial/":"/extensions/extensions-sdk/build/frontend-extension-tutorial/","/desktop/extensions-sdk/build/minimal-backend-extension/":"/extensions/extensions-sdk/build/backend-extension-tutorial/","/desktop/extensions-sdk/build/minimal-frontend-extension/":"/extensions/extensions-sdk/build/minimal-frontend-extension/","/desktop/extensions-sdk/build/set-up/backend-extension-tutorial/":"/extensions/extensions-sdk/build/backend-extension-tutorial/","/desktop/extensions-sdk/build/set-up/frontend-extension-tutorial/":"/extensions/extensions-sdk/build/frontend-extension-tutorial/","/desktop/extensions-sdk/build/set-up/minimal-frontend-extension/":"/extensions/extensions-sdk/build/minimal-frontend-extension/","/desktop/extensions-sdk/build/set-up/minimal-frontend-using-docker-cli/":"/extensions/extensions-sdk/build/frontend-extension-tutorial/","/desktop/extensions-sdk/build/set-up/react-extension/":"/extensions/extensions-sdk/build/frontend-extension-tutorial/","/desktop/extensions-sdk/build/test-debug/":"/extensions/extensions-sdk/dev/test-debug/","/desktop/extensions-sdk/design/":"/extensions/extensions-sdk/design/","/desktop/extensions-sdk/design/design-guidelines/":"/extensions/extensions-sdk/design/design-guidelines/","/desktop/extensions-sdk/design/design-overview/":"/extensions/extensions-sdk/design/","/desktop/extensions-sdk/design/design-principles/":"/extensions/extensions-sdk/design/design-principles/","/desktop/extensions-sdk/design/mui-best-practices/":"/extensions/extensions-sdk/design/mui-best-practices/","/desktop/extensions-sdk/design/overview/":"/extensions/extensions-sdk/design/","/desktop/extensions-sdk/dev/api/backend/":"/extensions/extensions-sdk/dev/api/backend/","/desktop/extensions-sdk/dev/api/dashboard-routes-navigation/":"/extensions/extensions-sdk/dev/api/dashboard-routes-navigation/","/desktop/extensions-sdk/dev/api/dashboard/":"/extensions/extensions-sdk/dev/api/dashboard/","/desktop/extensions-sdk/dev/api/docker/":"/extensions/extensions-sdk/dev/api/docker/","/desktop/extensions-sdk/dev/api/overview/":"/extensions/extensions-sdk/dev/api/overview/","/desktop/extensions-sdk/dev/api/reference/README/":"/reference/api/extensions-sdk/","/desktop/extensions-sdk/dev/api/reference/interfaces/BackendV0/":"/reference/api/extensions-sdk/BackendV0/","/desktop/extensions-sdk/dev/api/reference/interfaces/DesktopUI/":"/reference/api/extensions-sdk/DesktopUI/","/desktop/extensions-sdk/dev/api/reference/interfaces/Dialog/":"/reference/api/extensions-sdk/Dialog/","/desktop/extensions-sdk/dev/api/reference/interfaces/Docker/":"/reference/api/extensions-sdk/Docker/","/desktop/extensions-sdk/dev/api/reference/interfaces/DockerCommand/":"/reference/api/extensions-sdk/DockerCommand/","/desktop/extensions-sdk/dev/api/reference/interfaces/DockerDesktopClient/":"/reference/api/extensions-sdk/DockerDesktopClient/","/desktop/extensions-sdk/dev/api/reference/interfaces/Exec/":"/reference/api/extensions-sdk/Exec/","/desktop/extensions-sdk/dev/api/reference/interfaces/ExecOptions/":"/reference/api/extensions-sdk/ExecOptions/","/desktop/extensions-sdk/dev/api/reference/interfaces/ExecProcess/":"/reference/api/extensions-sdk/ExecProcess/","/desktop/extensions-sdk/dev/api/reference/interfaces/ExecResult/":"/reference/api/extensions-sdk/ExecResult/","/desktop/extensions-sdk/dev/api/reference/interfaces/ExecResultV0/":"/reference/api/extensions-sdk/ExecResultV0/","/desktop/extensions-sdk/dev/api/reference/interfaces/ExecStreamOptions/":"/reference/api/extensions-sdk/ExecStreamOptions/","/desktop/extensions-sdk/dev/api/reference/interfaces/Extension/":"/reference/api/extensions-sdk/Extension/","/desktop/extensions-sdk/dev/api/reference/interfaces/ExtensionCli/":"/reference/api/extensions-sdk/ExtensionCli/","/desktop/extensions-sdk/dev/api/reference/interfaces/ExtensionHost/":"/reference/api/extensions-sdk/ExtensionHost/","/desktop/extensions-sdk/dev/api/reference/interfaces/ExtensionVM/":"/reference/api/extensions-sdk/ExtensionVM/","/desktop/extensions-sdk/dev/api/reference/interfaces/Host/":"/reference/api/extensions-sdk/Host/","/desktop/extensions-sdk/dev/api/reference/interfaces/HttpService/":"/reference/api/extensions-sdk/HttpService/","/desktop/extensions-sdk/dev/api/reference/interfaces/NavigationIntents/":"/reference/api/extensions-sdk/NavigationIntents/","/desktop/extensions-sdk/dev/api/reference/interfaces/OpenDialogResult/":"/reference/api/extensions-sdk/OpenDialogResult/","/desktop/extensions-sdk/dev/api/reference/interfaces/RawExecResult/":"/reference/api/extensions-sdk/RawExecResult/","/desktop/extensions-sdk/dev/api/reference/interfaces/RequestConfig/":"/reference/api/extensions-sdk/RequestConfig/","/desktop/extensions-sdk/dev/api/reference/interfaces/RequestConfigV0/":"/reference/api/extensions-sdk/RequestConfigV0/","/desktop/extensions-sdk/dev/api/reference/interfaces/ServiceError/":"/reference/api/extensions-sdk/ServiceError/","/desktop/extensions-sdk/dev/api/reference/interfaces/SpawnOptions/":"/reference/api/extensions-sdk/SpawnOptions/","/desktop/extensions-sdk/dev/api/reference/interfaces/Toast/":"/reference/api/extensions-sdk/Toast/","/desktop/extensions-sdk/dev/cli/build-test-install-extension/":"/extensions/extensions-sdk/extensions/validate/","/desktop/extensions-sdk/dev/cli/usage/":"/extensions/extensions-sdk/dev/usage/","/desktop/extensions-sdk/dev/continuous-integration/":"/extensions/extensions-sdk/dev/continuous-integration/","/desktop/extensions-sdk/dev/kubernetes/":"/extensions/extensions-sdk/guides/kubernetes/","/desktop/extensions-sdk/dev/oauth2-flow/":"/extensions/extensions-sdk/guides/oauth2-flow/","/desktop/extensions-sdk/dev/overview/":"/extensions/extensions-sdk/","/desktop/extensions-sdk/dev/test-debug/":"/extensions/extensions-sdk/dev/test-debug/","/desktop/extensions-sdk/dev/usage/":"/extensions/extensions-sdk/dev/usage/","/desktop/extensions-sdk/extensions/":"/extensions/extensions-sdk/extensions/","/desktop/extensions-sdk/extensions/DISTRIBUTION/":"/extensions/extensions-sdk/extensions/DISTRIBUTION/","/desktop/extensions-sdk/extensions/METADATA":"/extensions/extensions-sdk/architecture/metadata/","/desktop/extensions-sdk/extensions/labels/":"/extensions/extensions-sdk/extensions/labels/","/desktop/extensions-sdk/extensions/multi-arch/":"/extensions/extensions-sdk/extensions/multi-arch/","/desktop/extensions-sdk/extensions/publish/":"/extensions/extensions-sdk/extensions/publish/","/desktop/extensions-sdk/extensions/share/":"/extensions/extensions-sdk/extensions/share/","/desktop/extensions-sdk/extensions/validate/":"/extensions/extensions-sdk/extensions/validate/","/desktop/extensions-sdk/extensions/validation/":"/extensions/extensions-sdk/extensions/validate/","/desktop/extensions-sdk/guides/invoke-host-binaries/":"/extensions/extensions-sdk/guides/invoke-host-binaries/","/desktop/extensions-sdk/guides/kubernetes/":"/extensions/extensions-sdk/guides/kubernetes/","/desktop/extensions-sdk/guides/oauth2-flow/":"/extensions/extensions-sdk/guides/oauth2-flow/","/desktop/extensions-sdk/guides/security/":"/extensions/extensions-sdk/architecture/security/","/desktop/extensions-sdk/guides/use-docker-socket-from-backend/":"/extensions/extensions-sdk/guides/use-docker-socket-from-backend/","/desktop/extensions-sdk/process/":"/extensions/extensions-sdk/process/","/desktop/extensions-sdk/quickstart/":"/extensions/extensions-sdk/quickstart/","/desktop/extensions-sdk/tutorials/minimal-backend-extension/":"/extensions/extensions-sdk/build/backend-extension-tutorial/","/desktop/extensions-sdk/tutorials/minimal-frontend-extension/":"/extensions/extensions-sdk/build/minimal-frontend-extension/","/desktop/extensions-sdk/tutorials/react-extension/":"/extensions/extensions-sdk/build/frontend-extension-tutorial/","/desktop/extensions/":"/extensions/","/desktop/extensions/marketplace/":"/extensions/marketplace/","/desktop/extensions/non-marketplace/":"/extensions/non-marketplace/","/desktop/extensions/private-marketplace/":"/extensions/private-marketplace/","/desktop/extensions/settings-feedback/":"/extensions/settings-feedback/","/desktop/faqs/":"","/desktop/get-started/":"/desktop/setup/sign-in/","/desktop/hardened-desktop/":"/security/for-admins/hardened-desktop/","/desktop/hardened-desktop/air-gapped-containers/":"/security/for-admins/hardened-desktop/air-gapped-containers/","/desktop/hardened-desktop/enhanced-container-isolation/":"/security/for-admins/hardened-desktop/enhanced-container-isolation/","/desktop/hardened-desktop/enhanced-container-isolation/config/":"/security/for-admins/hardened-desktop/enhanced-container-isolation/config/","/desktop/hardened-desktop/enhanced-container-isolation/faq/":"/security/for-admins/hardened-desktop/enhanced-container-isolation/faq/","/desktop/hardened-desktop/enhanced-container-isolation/features-benefits/":"/security/for-admins/hardened-desktop/enhanced-container-isolation/features-benefits/","/desktop/hardened-desktop/enhanced-container-isolation/how-eci-works/":"/security/for-admins/hardened-desktop/enhanced-container-isolation/how-eci-works/","/desktop/hardened-desktop/image-access-management/":"/security/for-admins/hardened-desktop/image-access-management/","/desktop/hardened-desktop/registry-access-management/":"/security/for-admins/hardened-desktop/registry-access-management/","/desktop/hardened-desktop/settings-management/":"/security/for-admins/hardened-desktop/settings-management/","/desktop/hardened-desktop/settings-management/air-gapped-containers/":"/security/for-admins/hardened-desktop/air-gapped-containers/","/desktop/hardened-desktop/settings-management/configure/":"/security/for-admins/hardened-desktop/settings-management/configure/","/desktop/install/":"","/desktop/install/archlinux/":"/desktop/setup/install/linux/archlinux/","/desktop/install/debian/":"/desktop/setup/install/linux/debian/","/desktop/install/fedora/":"/desktop/setup/install/linux/fedora/","/desktop/install/linux-install/":"/desktop/setup/install/linux/","/desktop/install/linux/":"/desktop/setup/install/linux/","/desktop/install/linux/archlinux/":"/desktop/setup/install/linux/archlinux/","/desktop/install/linux/debian/":"/desktop/setup/install/linux/debian/","/desktop/install/linux/fedora/":"/desktop/setup/install/linux/fedora/","/desktop/install/linux/rhel/":"/desktop/setup/install/linux/rhel/","/desktop/install/linux/ubuntu/":"/desktop/setup/install/linux/ubuntu/","/desktop/install/mac-install/":"/desktop/setup/install/mac-install/","/desktop/install/mac-permission-requirements/":"/desktop/setup/install/mac-permission-requirements/","/desktop/install/msi/":"/desktop/setup/install/msi/","/desktop/install/msi/faq/":"/desktop/setup/install/msi/faq/","/desktop/install/msi/install-and-configure/":"/desktop/setup/install/msi/install-and-configure/","/desktop/install/msi/use-intune/":"/desktop/setup/install/msi/use-intune/","/desktop/install/ubuntu/":"/desktop/setup/install/linux/ubuntu/","/desktop/install/windows-install/":"/desktop/setup/install/windows-install/","/desktop/install/windows-permission-requirements/":"/desktop/setup/install/windows-permission-requirements/","/desktop/linux/":"/desktop/setup/sign-in/","/desktop/linux/index/":"/desktop/setup/sign-in/","/desktop/linux/install/":"/desktop/setup/install/linux/","/desktop/linux/install/archlinux/":"/desktop/setup/install/linux/archlinux/","/desktop/linux/install/debian/":"/desktop/setup/install/linux/debian/","/desktop/linux/install/fedora/":"/desktop/setup/install/linux/fedora/","/desktop/linux/install/ubuntu/":"/desktop/setup/install/linux/ubuntu/","/desktop/linux/networking/":"/desktop/networking/","/desktop/linux/release-notes/":"/desktop/release-notes/","/desktop/linux/space/":"/desktop/troubleshoot-and-support/faqs/linuxfaqs/","/desktop/linux/troubleshoot/":"/desktop/troubleshoot-and-support/troubleshoot/","/desktop/mac/":"/desktop/setup/sign-in/","/desktop/mac/apple-silicon/":"/desktop/setup/install/mac-install/","/desktop/mac/index/":"/desktop/setup/sign-in/","/desktop/mac/install/":"/desktop/setup/install/mac-install/","/desktop/mac/networking/":"/desktop/networking/","/desktop/mac/permission-requirements/":"/desktop/setup/install/mac-permission-requirements/","/desktop/mac/previous-versions/":"/desktop/previous-versions/3.x-mac/","/desktop/mac/privileged-helper/":"/desktop/setup/install/mac-permission-requirements/","/desktop/mac/release-notes/":"/desktop/release-notes/","/desktop/mac/release-notes/2.x/":"/desktop/previous-versions/2.x-mac/","/desktop/mac/release-notes/3.x/":"/desktop/previous-versions/3.x-mac/","/desktop/mac/release-notes/archive/":"/desktop/previous-versions/archive-mac/","/desktop/mac/release-notes/edge-releases/":"/desktop/previous-versions/edge-releases-mac/","/desktop/mac/space/":"/desktop/troubleshoot-and-support/faqs/macfaqs/","/desktop/mac/troubleshoot/":"/desktop/troubleshoot-and-support/troubleshoot/","/desktop/multi-arch/":"/build/building/multi-platform/","/desktop/nested-virtualization/":"/desktop/setup/vm-vdi/","/desktop/opensource/":"/desktop/","/desktop/settings/":"/desktop/settings-and-maintenance/settings/","/desktop/settings/linux/":"/desktop/settings-and-maintenance/settings/","/desktop/settings/mac/":"/desktop/settings-and-maintenance/settings/","/desktop/settings/windows/":"/desktop/settings-and-maintenance/settings/","/desktop/support/":"/desktop/troubleshoot-and-support/support/","/desktop/troubleshoot/":"/desktop/troubleshoot-and-support/troubleshoot/","/desktop/troubleshoot/overview/":"/desktop/troubleshoot-and-support/troubleshoot/","/desktop/vm-vdi/":"/desktop/setup/vm-vdi/","/desktop/win/configuring-wsl/":"/desktop/setup/install/windows-install/","/desktop/windows/":"/desktop/setup/sign-in/","/desktop/windows/index/":"/desktop/setup/sign-in/","/desktop/windows/install/":"/desktop/setup/install/windows-install/","/desktop/windows/networking/":"/desktop/networking/","/desktop/windows/permission-requirements/":"/desktop/setup/install/windows-permission-requirements/","/desktop/windows/previous-versions/":"/desktop/previous-versions/3.x-windows/","/desktop/windows/privileged-helper/":"/desktop/setup/install/windows-permission-requirements/","/desktop/windows/release-notes/":"/desktop/release-notes/","/desktop/windows/release-notes/2.x/":"/desktop/previous-versions/2.x-windows/","/desktop/windows/release-notes/3.x/":"/desktop/previous-versions/3.x-windows/","/desktop/windows/release-notes/archive/":"/desktop/previous-versions/archive-windows/","/desktop/windows/release-notes/edge-releases/":"/desktop/previous-versions/edge-releases-windows/","/desktop/windows/troubleshoot/":"/desktop/troubleshoot-and-support/troubleshoot/","/desktop/windows/wsl/":"/desktop/wsl/","/develop/dev-best-practices/":"/build/building/best-practices/","/develop/develop-images/baseimages/":"/build/building/base-images/","/develop/develop-images/build_enhancements/":"/build/","/develop/develop-images/dockerfile_best-practices/":"/build/building/best-practices/","/develop/develop-images/guidelines/":"/build/building/best-practices/","/develop/develop-images/instructions/":"/build/building/best-practices/","/develop/develop-images/multistage-build/":"/build/building/multi-stage/","/develop/sdk/":"/reference/api/engine/sdk/","/develop/sdk/examples/":"/reference/api/engine/sdk/examples/","/develop/security-best-practices/":"/build/building/best-practices/","/docker-ee-for-windows/install/":"/desktop/setup/install/windows-install/","/docker-for-mac/":"/desktop/setup/sign-in/","/docker-for-mac/apple-m1/":"/desktop/setup/install/mac-install/","/docker-for-mac/apple-silicon/":"/desktop/setup/install/mac-install/","/docker-for-mac/dashboard/":"/desktop/","/docker-for-mac/edge-release-notes/":"/desktop/release-notes/","/docker-for-mac/faqs/":"/desktop/troubleshoot-and-support/faqs/general/","/docker-for-mac/index/":"/desktop/setup/sign-in/","/docker-for-mac/install/":"/desktop/setup/install/mac-install/","/docker-for-mac/kubernetes/":"/desktop/kubernetes/","/docker-for-mac/multi-arch/":"/build/building/multi-platform/","/docker-for-mac/networking/":"/desktop/networking/","/docker-for-mac/opensource/":"/desktop/","/docker-for-mac/osx/":"/desktop/setup/sign-in/","/docker-for-mac/previous-versions/":"/desktop/previous-versions/3.x-mac/","/docker-for-mac/privileged-helper/":"/desktop/setup/install/mac-permission-requirements/","/docker-for-mac/release-notes/":"/desktop/release-notes/","/docker-for-mac/space/":"/desktop/troubleshoot-and-support/faqs/macfaqs/","/docker-for-mac/started/":"/desktop/setup/sign-in/","/docker-for-mac/troubleshoot/":"/desktop/troubleshoot-and-support/troubleshoot/","/docker-for-win/networking/":"/desktop/networking/","/docker-for-win/troubleshoot/":"/desktop/troubleshoot-and-support/troubleshoot/","/docker-for-windows/":"/desktop/setup/sign-in/","/docker-for-windows/dashboard/":"/desktop/","/docker-for-windows/edge-release-notes/":"/desktop/release-notes/","/docker-for-windows/faqs/":"/desktop/troubleshoot-and-support/faqs/general/","/docker-for-windows/index/":"/desktop/setup/sign-in/","/docker-for-windows/install-windows-home/":"/desktop/setup/install/windows-install/","/docker-for-windows/install/":"/desktop/setup/install/windows-install/","/docker-for-windows/kubernetes/":"/desktop/kubernetes/","/docker-for-windows/networking/":"/desktop/networking/","/docker-for-windows/opensource/":"/desktop/","/docker-for-windows/previous-versions/":"/desktop/previous-versions/3.x-windows/","/docker-for-windows/release-notes/":"/desktop/release-notes/","/docker-for-windows/started/":"/desktop/setup/sign-in/","/docker-for-windows/troubleshoot/":"/desktop/troubleshoot-and-support/troubleshoot/","/docker-for-windows/wsl-tech-preview/":"/desktop/wsl/","/docker-for-windows/wsl/":"/desktop/wsl/","/docker-hub/2fa/":"/security/for-developers/2fa/","/docker-hub/2fa/disable-2fa/":"/security/for-developers/2fa/disable-2fa/","/docker-hub/2fa/new-recovery-code/":"/security/for-developers/2fa/new-recovery-code/","/docker-hub/2fa/recover-hub-account/":"/security/for-developers/2fa/recover-hub-account/","/docker-hub/access-tokens/":"/security/for-developers/access-tokens/","/docker-hub/accounts/":"/accounts/create-account/","/docker-hub/admin-overview":"/admin/","/docker-hub/api/deprecated/":"/reference/api/hub/deprecated/","/docker-hub/api/dvp/":"/reference/api/hub/dvp/","/docker-hub/api/latest/":"/reference/api/hub/latest/","/docker-hub/audit-log/":"/admin/organization/activity-logs/","/docker-hub/billing/":"/subscription/","/docker-hub/billing/add-seats/":"/subscription/core-subscription/add-seats/","/docker-hub/billing/downgrade/":"/subscription/core-subscription/downgrade/","/docker-hub/billing/faq/":"/subscription/","/docker-hub/billing/remove-seats/":"/subscription/core-subscription/remove-seats/","/docker-hub/billing/upgrade/":"/subscription/core-subscription/upgrade/","/docker-hub/bitbucket/":"/docker-hub/builds/link-source/","/docker-hub/builds/automated-build/":"/docker-hub/builds/","/docker-hub/builds/classic/":"/docker-hub/builds/","/docker-hub/cancel-downgrade/":"/subscription/core-subscription/downgrade/","/docker-hub/company-faqs/":"/admin/faqs/company-faqs/","/docker-hub/company-owner/":"/admin/company/owners/","/docker-hub/configure-sign-in/":"/security/for-admins/enforce-sign-in/","/docker-hub/convert-account/":"/admin/convert-account/","/docker-hub/creating-companies/":"/admin/company/","/docker-hub/deactivate-account/":"/admin/deactivate-account/","/docker-hub/domain-audit/":"/security/for-admins/domain-audit/","/docker-hub/domains/":"/security/for-admins/single-sign-on/configure/","/docker-hub/dsos-program/":"/trusted-content/dsos-program/","/docker-hub/dvp-program/":"/trusted-content/dvp-program/","/docker-hub/enforcing-sso/":"/security/for-admins/single-sign-on/configure/","/docker-hub/general-faqs/":"/admin/faqs/general-faqs/","/docker-hub/github/":"/docker-hub/builds/link-source/","/docker-hub/group-mapping/":"/security/for-admins/provisioning/group-mapping/","/docker-hub/image-access-management/":"/security/for-admins/hardened-desktop/image-access-management/","/docker-hub/insights-analytics/":"/trusted-content/insights-analytics/","/docker-hub/manage-a-team/":"/admin/organization/manage-a-team/","/docker-hub/members/":"/admin/organization/members/","/docker-hub/new-company/":"/admin/company/new-company/","/docker-hub/official_images/":"/trusted-content/official-images/","/docker-hub/official_repos/":"/trusted-content/official-images/","/docker-hub/onboard-business/":"/admin/organization/onboard/","/docker-hub/onboard-team/":"/admin/organization/onboard/","/docker-hub/onboard/":"/admin/organization/onboard/","/docker-hub/onboarding-faqs/":"/admin/faqs/general-faqs/","/docker-hub/organization-faqs/":"/admin/faqs/organization-faqs/","/docker-hub/orgs/":"/admin/organization/orgs/","/docker-hub/publish/":"/trusted-content/dvp-program/","/docker-hub/publish/byol/":"/trusted-content/dvp-program/","/docker-hub/publish/certify-images/":"/trusted-content/dvp-program/","/docker-hub/publish/certify-plugins-logging/":"/trusted-content/dvp-program/","/docker-hub/publish/customer_faq/":"/trusted-content/dvp-program/","/docker-hub/publish/insights-analytics/":"/trusted-content/insights-analytics/","/docker-hub/publish/publish/":"/trusted-content/dvp-program/","/docker-hub/publish/publisher-center-migration/":"/trusted-content/dvp-program/","/docker-hub/publish/publisher_faq/":"/trusted-content/dvp-program/","/docker-hub/publish/repository-logos/":"/trusted-content/dvp-program/","/docker-hub/publish/trustchain/":"/trusted-content/dvp-program/","/docker-hub/registry-access-management/":"/security/for-admins/hardened-desktop/registry-access-management/","/docker-hub/repos/configure/":"/docker-hub/repos/create/","/docker-hub/roles-and-permissions/":"/security/for-admins/roles-and-permissions/","/docker-hub/sso-connection/":"/security/for-admins/single-sign-on/configure/","/docker-hub/upgrade/":"/subscription/core-subscription/upgrade/","/docker-id/":"/accounts/create-account/","/edge/":"/engine/","/edge/engine/reference/commandline/":"/reference/cli/docker/","/edge/engine/reference/commandline/checkpoint/":"/reference/cli/docker/checkpoint/","/edge/engine/reference/commandline/checkpoint_create/":"/reference/cli/docker/checkpoint/create/","/edge/engine/reference/commandline/checkpoint_ls/":"/reference/cli/docker/checkpoint/ls/","/edge/engine/reference/commandline/checkpoint_rm/":"/reference/cli/docker/checkpoint/rm/","/edge/engine/reference/commandline/config/":"/reference/cli/docker/config/","/edge/engine/reference/commandline/config_create/":"/reference/cli/docker/config/create/","/edge/engine/reference/commandline/config_inspect/":"/reference/cli/docker/config/inspect/","/edge/engine/reference/commandline/config_ls/":"/reference/cli/docker/config/ls/","/edge/engine/reference/commandline/config_rm/":"/reference/cli/docker/config/rm/","/edge/engine/reference/commandline/container/":"/reference/cli/docker/container/","/edge/engine/reference/commandline/container_attach/":"/reference/cli/docker/container/attach/","/edge/engine/reference/commandline/container_commit/":"/reference/cli/docker/container/commit/","/edge/engine/reference/commandline/container_cp/":"/reference/cli/docker/container/cp/","/edge/engine/reference/commandline/container_create/":"/reference/cli/docker/container/create/","/edge/engine/reference/commandline/container_diff/":"/reference/cli/docker/container/diff/","/edge/engine/reference/commandline/container_exec/":"/reference/cli/docker/container/exec/","/edge/engine/reference/commandline/container_export/":"/reference/cli/docker/container/export/","/edge/engine/reference/commandline/container_inspect/":"/reference/cli/docker/container/inspect/","/edge/engine/reference/commandline/container_kill/":"/reference/cli/docker/container/kill/","/edge/engine/reference/commandline/container_logs/":"/reference/cli/docker/container/logs/","/edge/engine/reference/commandline/container_ls/":"/reference/cli/docker/container/ls/","/edge/engine/reference/commandline/container_pause/":"/reference/cli/docker/container/pause/","/edge/engine/reference/commandline/container_port/":"/reference/cli/docker/container/port/","/edge/engine/reference/commandline/container_prune/":"/reference/cli/docker/container/prune/","/edge/engine/reference/commandline/container_rename/":"/reference/cli/docker/container/rename/","/edge/engine/reference/commandline/container_restart/":"/reference/cli/docker/container/restart/","/edge/engine/reference/commandline/container_rm/":"/reference/cli/docker/container/rm/","/edge/engine/reference/commandline/container_start/":"/reference/cli/docker/container/start/","/edge/engine/reference/commandline/container_stats/":"/reference/cli/docker/container/stats/","/edge/engine/reference/commandline/container_stop/":"/reference/cli/docker/container/stop/","/edge/engine/reference/commandline/container_top/":"/reference/cli/docker/container/top/","/edge/engine/reference/commandline/container_unpause/":"/reference/cli/docker/container/unpause/","/edge/engine/reference/commandline/container_update/":"/reference/cli/docker/container/update/","/edge/engine/reference/commandline/container_wait/":"/reference/cli/docker/container/wait/","/edge/engine/reference/commandline/deploy/":"/reference/cli/docker/stack/deploy/","/edge/engine/reference/commandline/image/":"/reference/cli/docker/image/","/edge/engine/reference/commandline/image_build/":"/reference/cli/docker/buildx/build/","/edge/engine/reference/commandline/image_history/":"/reference/cli/docker/image/history/","/edge/engine/reference/commandline/image_import/":"/reference/cli/docker/image/import/","/edge/engine/reference/commandline/image_inspect/":"/reference/cli/docker/image/inspect/","/edge/engine/reference/commandline/image_load/":"/reference/cli/docker/image/load/","/edge/engine/reference/commandline/image_ls/":"/reference/cli/docker/image/ls/","/edge/engine/reference/commandline/image_prune/":"/reference/cli/docker/image/prune/","/edge/engine/reference/commandline/image_pull/":"/reference/cli/docker/image/pull/","/edge/engine/reference/commandline/image_push/":"/reference/cli/docker/image/push/","/edge/engine/reference/commandline/image_rm/":"/reference/cli/docker/image/rm/","/edge/engine/reference/commandline/image_save/":"/reference/cli/docker/image/save/","/edge/engine/reference/commandline/image_tag/":"/reference/cli/docker/image/tag/","/edge/engine/reference/commandline/inspect/":"/reference/cli/docker/inspect/","/edge/engine/reference/commandline/login/":"/reference/cli/docker/login/","/edge/engine/reference/commandline/logout/":"/reference/cli/docker/logout/","/edge/engine/reference/commandline/manifest/":"/reference/cli/docker/manifest/","/edge/engine/reference/commandline/manifest_annotate/":"/reference/cli/docker/manifest/annotate/","/edge/engine/reference/commandline/manifest_create/":"/reference/cli/docker/manifest/create/","/edge/engine/reference/commandline/manifest_inspect/":"/reference/cli/docker/manifest/inspect/","/edge/engine/reference/commandline/manifest_push/":"/reference/cli/docker/manifest/push/","/edge/engine/reference/commandline/network/":"/reference/cli/docker/network/","/edge/engine/reference/commandline/network_connect/":"/reference/cli/docker/network/connect/","/edge/engine/reference/commandline/network_create/":"/reference/cli/docker/network/create/","/edge/engine/reference/commandline/network_disconnect/":"/reference/cli/docker/network/disconnect/","/edge/engine/reference/commandline/network_inspect/":"/reference/cli/docker/network/inspect/","/edge/engine/reference/commandline/network_ls/":"/reference/cli/docker/network/ls/","/edge/engine/reference/commandline/network_prune/":"/reference/cli/docker/network/prune/","/edge/engine/reference/commandline/network_rm/":"/reference/cli/docker/network/rm/","/edge/engine/reference/commandline/node/":"/reference/cli/docker/node/","/edge/engine/reference/commandline/node_demote/":"/reference/cli/docker/node/demote/","/edge/engine/reference/commandline/node_inspect/":"/reference/cli/docker/node/inspect/","/edge/engine/reference/commandline/node_ls/":"/reference/cli/docker/node/ls/","/edge/engine/reference/commandline/node_promote/":"/reference/cli/docker/node/promote/","/edge/engine/reference/commandline/node_ps/":"/reference/cli/docker/node/ps/","/edge/engine/reference/commandline/node_rm/":"/reference/cli/docker/node/rm/","/edge/engine/reference/commandline/node_update/":"/reference/cli/docker/node/update/","/edge/engine/reference/commandline/plugin/":"/reference/cli/docker/plugin/","/edge/engine/reference/commandline/plugin_create/":"/reference/cli/docker/plugin/create/","/edge/engine/reference/commandline/plugin_disable/":"/reference/cli/docker/plugin/disable/","/edge/engine/reference/commandline/plugin_enable/":"/reference/cli/docker/plugin/enable/","/edge/engine/reference/commandline/plugin_inspect/":"/reference/cli/docker/plugin/inspect/","/edge/engine/reference/commandline/plugin_install/":"/reference/cli/docker/plugin/install/","/edge/engine/reference/commandline/plugin_ls/":"/reference/cli/docker/plugin/ls/","/edge/engine/reference/commandline/plugin_push/":"/reference/cli/docker/plugin/push/","/edge/engine/reference/commandline/plugin_rm/":"/reference/cli/docker/plugin/rm/","/edge/engine/reference/commandline/plugin_set/":"/reference/cli/docker/plugin/set/","/edge/engine/reference/commandline/plugin_upgrade/":"/reference/cli/docker/plugin/upgrade/","/edge/engine/reference/commandline/search/":"/reference/cli/docker/search/","/edge/engine/reference/commandline/secret/":"/reference/cli/docker/secret/","/edge/engine/reference/commandline/secret_create/":"/reference/cli/docker/secret/create/","/edge/engine/reference/commandline/secret_inspect/":"/reference/cli/docker/secret/inspect/","/edge/engine/reference/commandline/secret_ls/":"/reference/cli/docker/secret/ls/","/edge/engine/reference/commandline/secret_rm/":"/reference/cli/docker/secret/rm/","/edge/engine/reference/commandline/service/":"/reference/cli/docker/service/","/edge/engine/reference/commandline/service_create/":"/reference/cli/docker/service/create/","/edge/engine/reference/commandline/service_inspect/":"/reference/cli/docker/service/inspect/","/edge/engine/reference/commandline/service_logs/":"/reference/cli/docker/service/logs/","/edge/engine/reference/commandline/service_ls/":"/reference/cli/docker/service/ls/","/edge/engine/reference/commandline/service_ps/":"/reference/cli/docker/service/ps/","/edge/engine/reference/commandline/service_rm/":"/reference/cli/docker/service/rm/","/edge/engine/reference/commandline/service_rollback/":"/reference/cli/docker/service/rollback/","/edge/engine/reference/commandline/service_scale/":"/reference/cli/docker/service/scale/","/edge/engine/reference/commandline/service_update/":"/reference/cli/docker/service/update/","/edge/engine/reference/commandline/stack/":"/reference/cli/docker/stack/","/edge/engine/reference/commandline/stack_deploy/":"/reference/cli/docker/stack/deploy/","/edge/engine/reference/commandline/stack_ls/":"/reference/cli/docker/stack/ls/","/edge/engine/reference/commandline/stack_ps/":"/reference/cli/docker/stack/ps/","/edge/engine/reference/commandline/stack_rm/":"/reference/cli/docker/stack/rm/","/edge/engine/reference/commandline/stack_services/":"/reference/cli/docker/stack/services/","/edge/engine/reference/commandline/stack_tasks/":"/reference/cli/docker/stack/ps/","/edge/engine/reference/commandline/swarm/":"/reference/cli/docker/swarm/","/edge/engine/reference/commandline/swarm_ca/":"/reference/cli/docker/swarm/ca/","/edge/engine/reference/commandline/swarm_init/":"/reference/cli/docker/swarm/init/","/edge/engine/reference/commandline/swarm_join-token/":"/reference/cli/docker/swarm/join-token/","/edge/engine/reference/commandline/swarm_join/":"/reference/cli/docker/swarm/join/","/edge/engine/reference/commandline/swarm_join_token/":"/reference/cli/docker/swarm/join-token/","/edge/engine/reference/commandline/swarm_leave/":"/reference/cli/docker/swarm/leave/","/edge/engine/reference/commandline/swarm_unlock-key/":"/reference/cli/docker/swarm/unlock-key/","/edge/engine/reference/commandline/swarm_unlock/":"/reference/cli/docker/swarm/unlock/","/edge/engine/reference/commandline/swarm_update/":"/reference/cli/docker/swarm/update/","/edge/engine/reference/commandline/system/":"/reference/cli/docker/system/","/edge/engine/reference/commandline/system_df/":"/reference/cli/docker/system/df/","/edge/engine/reference/commandline/system_events/":"/reference/cli/docker/system/events/","/edge/engine/reference/commandline/system_info/":"/reference/cli/docker/system/info/","/edge/engine/reference/commandline/system_prune/":"/reference/cli/docker/system/prune/","/edge/engine/reference/commandline/trust/":"/reference/cli/docker/trust/","/edge/engine/reference/commandline/trust_inspect/":"/reference/cli/docker/trust/inspect/","/edge/engine/reference/commandline/trust_key/":"/reference/cli/docker/trust/key/","/edge/engine/reference/commandline/trust_key_generate/":"/reference/cli/docker/trust/key/generate/","/edge/engine/reference/commandline/trust_key_load/":"/reference/cli/docker/trust/key/load/","/edge/engine/reference/commandline/trust_revoke/":"/reference/cli/docker/trust/revoke/","/edge/engine/reference/commandline/trust_sign/":"/reference/cli/docker/trust/sign/","/edge/engine/reference/commandline/trust_signer/":"/reference/cli/docker/trust/signer/","/edge/engine/reference/commandline/trust_signer_add/":"/reference/cli/docker/trust/signer/add/","/edge/engine/reference/commandline/trust_signer_remove/":"/reference/cli/docker/trust/signer/remove/","/edge/engine/reference/commandline/version/":"/reference/cli/docker/version/","/edge/engine/reference/commandline/volume/":"/reference/cli/docker/volume/","/edge/engine/reference/commandline/volume_create/":"/reference/cli/docker/volume/create/","/edge/engine/reference/commandline/volume_inspect/":"/reference/cli/docker/volume/inspect/","/edge/engine/reference/commandline/volume_ls/":"/reference/cli/docker/volume/ls/","/edge/engine/reference/commandline/volume_prune/":"/reference/cli/docker/volume/prune/","/edge/engine/reference/commandline/volume_rm/":"/reference/cli/docker/volume/rm/","/ee/desktop/":"/desktop/enterprise/","/ee/docker-ee/centos/":"/engine/install/centos/","/ee/docker-ee/oracle/":"/engine/install/","/ee/docker-ee/release-notes/":"/engine/release-notes/prior-releases/","/ee/docker-ee/rhel/":"/engine/install/rhel/","/ee/docker-ee/sles/":"/engine/install/sles/","/ee/docker-ee/suse/":"/engine/install/sles/","/ee/docker-ee/ubuntu/":"/engine/install/ubuntu/","/ee/docker-ee/windows/docker-ee/":"/desktop/setup/install/windows-install/","/ee/dtr/user/access-dtr/configure-your-notary-client/":"/engine/security/trust/trust_delegation/","/ee/engine/release-notes/":"/engine/release-notes/prior-releases/","/ee/supported-platforms/":"/engine/install/","/en/latest/examples/":"/reference/samples/","/en/latest/installation/":"/engine/install/","/engine/admin/":"/engine/daemon/","/engine/admin/ansible/":"/engine/daemon/","/engine/admin/chef/":"/engine/daemon/","/engine/admin/configuring/":"/engine/daemon/","/engine/admin/dsc/":"/engine/daemon/","/engine/admin/formatting/":"/engine/cli/formatting/","/engine/admin/host_integration/":"/engine/containers/start-containers-automatically/","/engine/admin/live-restore/":"/engine/daemon/live-restore/","/engine/admin/logging/":"/engine/logging/","/engine/admin/logging/awslogs/":"/engine/logging/drivers/awslogs/","/engine/admin/logging/etwlogs/":"/engine/logging/drivers/etwlogs/","/engine/admin/logging/fluentd/":"/engine/logging/drivers/fluentd/","/engine/admin/logging/gcplogs/":"/engine/logging/drivers/gcplogs/","/engine/admin/logging/gelf/":"/engine/logging/drivers/gelf/","/engine/admin/logging/journald/":"/engine/logging/drivers/journald/","/engine/admin/logging/json-file/":"/engine/logging/drivers/json-file/","/engine/admin/logging/local/":"/engine/logging/drivers/local/","/engine/admin/logging/log_tags/":"/engine/logging/log_tags/","/engine/admin/logging/logentries/":"/engine/logging/configure/","/engine/admin/logging/overview/":"/engine/logging/configure/","/engine/admin/logging/plugins/":"/engine/logging/plugins/","/engine/admin/logging/splunk/":"/engine/logging/drivers/splunk/","/engine/admin/logging/syslog/":"/engine/logging/drivers/syslog/","/engine/admin/logging/view_container_logs/":"/engine/logging/","/engine/admin/multi-service_container/":"/engine/containers/multi-service_container/","/engine/admin/prometheus/":"/engine/daemon/prometheus/","/engine/admin/pruning/":"/engine/manage-resources/pruning/","/engine/admin/puppet/":"/engine/daemon/","/engine/admin/reference/logging/":"/engine/logging/configure/","/engine/admin/registry_mirror/":"/docker-hub/mirror/","/engine/admin/resource_constraints/":"/engine/containers/resource_constraints/","/engine/admin/runmetrics/":"/engine/containers/runmetrics/","/engine/admin/start-containers-automatically/":"/engine/containers/start-containers-automatically/","/engine/admin/systemd/":"/engine/daemon/proxy/","/engine/admin/using_supervisord/":"/engine/containers/multi-service_container/","/engine/admin/volumes/":"/engine/storage/","/engine/admin/volumes/bind-mounts/":"/engine/storage/bind-mounts/","/engine/admin/volumes/tmpfs/":"/engine/storage/tmpfs/","/engine/admin/volumes/volumes/":"/engine/storage/volumes/","/engine/alternative-runtimes/":"/engine/daemon/alternative-runtimes/","/engine/api/":"/reference/api/engine/","/engine/api/client-libraries/":"/reference/api/engine/sdk/examples/","/engine/api/getting-started/":"/reference/api/engine/sdk/examples/","/engine/api/latest/":"/reference/api/engine/version/v1.47/","/engine/api/sdk/":"/reference/api/engine/sdk/","/engine/api/sdk/examples/":"/reference/api/engine/sdk/examples/","/engine/api/sdks/":"/reference/api/engine/sdk/","/engine/api/v1.18/":"/reference/api/engine/#deprecated-api-versions","/engine/api/v1.19/":"/reference/api/engine/#deprecated-api-versions","/engine/api/v1.20/":"/reference/api/engine/#deprecated-api-versions","/engine/api/v1.21/":"/reference/api/engine/#deprecated-api-versions","/engine/api/v1.22/":"/reference/api/engine/#deprecated-api-versions","/engine/api/v1.23/":"/reference/api/engine/#deprecated-api-versions","/engine/api/v1.25/":"/reference/api/engine/version/v1.25/","/engine/api/v1.26/":"/reference/api/engine/version/v1.26/","/engine/api/v1.27/":"/reference/api/engine/version/v1.27/","/engine/api/v1.28/":"/reference/api/engine/version/v1.28/","/engine/api/v1.29/":"/reference/api/engine/version/v1.29/","/engine/api/v1.30/":"/reference/api/engine/version/v1.30/","/engine/api/v1.31/":"/reference/api/engine/version/v1.31/","/engine/api/v1.32/":"/reference/api/engine/version/v1.32/","/engine/api/v1.33/":"/reference/api/engine/version/v1.33/","/engine/api/v1.34/":"/reference/api/engine/version/v1.34/","/engine/api/v1.35/":"/reference/api/engine/version/v1.35/","/engine/api/v1.36/":"/reference/api/engine/version/v1.36/","/engine/api/v1.37/":"/reference/api/engine/version/v1.37/","/engine/api/v1.38/":"/reference/api/engine/version/v1.38/","/engine/api/v1.39/":"/reference/api/engine/version/v1.39/","/engine/api/v1.40/":"/reference/api/engine/version/v1.40/","/engine/api/v1.41/":"/reference/api/engine/version/v1.41/","/engine/api/v1.42/":"/reference/api/engine/version/v1.42/","/engine/api/v1.43/":"/reference/api/engine/version/v1.43/","/engine/api/v1.44/":"/reference/api/engine/version/v1.44/","/engine/api/v1.45/":"/reference/api/engine/version/v1.45/","/engine/api/v1.46/":"/reference/api/engine/version/v1.46/","/engine/api/v1.47/":"/reference/api/engine/version/v1.47/","/engine/articles/baseimages/":"/build/building/base-images/","/engine/articles/certificates/":"/engine/security/certificates/","/engine/articles/chef/":"/engine/daemon/","/engine/articles/configuring/":"/engine/daemon/","/engine/articles/dockerfile_best-practices/":"/build/building/best-practices/","/engine/articles/dsc/":"/engine/daemon/","/engine/articles/host_integration/":"/engine/containers/start-containers-automatically/","/engine/articles/https/":"/engine/security/protect-access/","/engine/articles/puppet/":"/engine/daemon/","/engine/articles/run_metrics/":"/engine/containers/runmetrics/","/engine/articles/runmetrics/":"/engine/containers/runmetrics/","/engine/articles/security/":"/engine/security/","/engine/articles/systemd/":"/engine/daemon/proxy/","/engine/articles/using_supervisord/":"/engine/containers/multi-service_container/","/engine/ce-ee-node-activate/":"/engine/","/engine/context/aci-integration/":"/cloud/","/engine/context/ecs-integration/":"/cloud/","/engine/context/working-with-contexts/":"/engine/manage-resources/contexts/","/engine/docker-overview/":"/get-started/docker-overview/","/engine/examples/":"/reference/samples/","/engine/examples/postgresql_service/":"/reference/samples/postgres/","/engine/extend/authorization/":"/engine/extend/plugins_authorization/","/engine/extend/plugins/":"/engine/extend/legacy_plugins/","/engine/extend/plugins_graphdriver/":"/engine/extend/","/engine/install/raspbian/":"/engine/install/raspberry-pi-os/","/engine/install/troubleshoot/":"/engine/daemon/troubleshoot/","/engine/installation/":"/engine/install/","/engine/installation/SUSE/":"/engine/install/sles/","/engine/installation/binaries/":"/engine/install/binaries/","/engine/installation/centos/":"/engine/install/centos/","/engine/installation/debian/":"/engine/install/debian/","/engine/installation/fedora/":"/engine/install/fedora/","/engine/installation/frugalware/":"/engine/install/","/engine/installation/linux/":"/engine/install/","/engine/installation/linux/SUSE/":"/engine/install/sles/","/engine/installation/linux/archlinux/":"/engine/install/","/engine/installation/linux/centos/":"/engine/install/centos/","/engine/installation/linux/cruxlinux/":"/engine/install/","/engine/installation/linux/debian/":"/engine/install/debian/","/engine/installation/linux/docker-ce/":"/engine/install/","/engine/installation/linux/docker-ce/binaries/":"/engine/install/binaries/","/engine/installation/linux/docker-ce/centos/":"/engine/install/centos/","/engine/installation/linux/docker-ce/debian/":"/engine/install/debian/","/engine/installation/linux/docker-ce/fedora/":"/engine/install/fedora/","/engine/installation/linux/docker-ce/rhel/":"/engine/install/rhel/","/engine/installation/linux/docker-ce/sles/":"/engine/install/sles/","/engine/installation/linux/docker-ce/ubuntu/":"/engine/install/ubuntu/","/engine/installation/linux/docker-ee/":"/engine/install/","/engine/installation/linux/docker-ee/centos/":"/engine/install/centos/","/engine/installation/linux/docker-ee/linux-postinstall/":"/engine/install/linux-postinstall/","/engine/installation/linux/docker-ee/oracle/":"/engine/install/","/engine/installation/linux/docker-ee/rhel/":"/engine/install/rhel/","/engine/installation/linux/docker-ee/sles/":"/engine/install/sles/","/engine/installation/linux/docker-ee/suse/":"/engine/install/sles/","/engine/installation/linux/docker-ee/ubuntu/":"/engine/install/ubuntu/","/engine/installation/linux/fedora/":"/engine/install/fedora/","/engine/installation/linux/frugalware/":"/engine/install/","/engine/installation/linux/gentoolinux/":"/engine/install/","/engine/installation/linux/linux-postinstall/":"/engine/install/linux-postinstall/","/engine/installation/linux/oracle/":"/engine/install/","/engine/installation/linux/other/":"/engine/install/","/engine/installation/linux/raspbian/":"/engine/install/raspberry-pi-os/","/engine/installation/linux/rhel/":"/engine/install/rhel/","/engine/installation/linux/sles/":"/engine/install/sles/","/engine/installation/linux/suse/":"/engine/install/sles/","/engine/installation/linux/ubuntu/":"/engine/install/ubuntu/","/engine/installation/linux/ubuntulinux/":"/engine/install/ubuntu/","/engine/installation/mac/":"/desktop/setup/install/mac-install/","/engine/installation/oracle/":"/engine/install/","/engine/installation/rhel/":"/engine/install/rhel/","/engine/installation/sles/":"/engine/install/sles/","/engine/installation/ubuntulinux/":"/engine/install/ubuntu/","/engine/installation/windows/":"/desktop/setup/install/windows-install/","/engine/installation/windows/docker-ee/":"/desktop/setup/install/windows-install/","/engine/introduction/understanding-docker/":"/get-started/docker-overview/","/engine/migration/":"/engine/","/engine/misc/":"/engine/","/engine/misc/deprecated/":"/engine/deprecated/","/engine/reference/api/":"/reference/api/engine/","/engine/reference/api/docker_remote_api/":"/reference/api/engine/","/engine/reference/api/docker_remote_api_v1.18/":"/reference/api/engine/#deprecated-api-versions","/engine/reference/api/docker_remote_api_v1.19/":"/reference/api/engine/#deprecated-api-versions","/engine/reference/api/docker_remote_api_v1.20/":"/reference/api/engine/#deprecated-api-versions","/engine/reference/api/docker_remote_api_v1.21/":"/reference/api/engine/#deprecated-api-versions","/engine/reference/api/docker_remote_api_v1.22/":"/reference/api/engine/#deprecated-api-versions","/engine/reference/api/docker_remote_api_v1.23/":"/reference/api/engine/#deprecated-api-versions","/engine/reference/api/docker_remote_api_v1.24/":"/reference/api/engine/version/v1.24/","/engine/reference/api/remote_api_client_libraries/":"/reference/api/engine/sdk/examples/","/engine/reference/builder/":"/reference/dockerfile","/engine/reference/commandline/":"/reference/cli/docker/","/engine/reference/commandline/attach/":"/reference/cli/docker/container/attach/","/engine/reference/commandline/build/":"/reference/cli/docker/buildx/build/","/engine/reference/commandline/builder/":"/reference/cli/docker/builder/","/engine/reference/commandline/builder_build/":"/reference/cli/docker/buildx/build/","/engine/reference/commandline/builder_prune/":"/reference/cli/docker/builder/prune/","/engine/reference/commandline/buildx/":"/reference/cli/docker/buildx/","/engine/reference/commandline/buildx_bake/":"/reference/cli/docker/buildx/bake/","/engine/reference/commandline/buildx_build/":"/reference/cli/docker/buildx/build/","/engine/reference/commandline/buildx_create":"/reference/cli/docker/buildx/create/","/engine/reference/commandline/buildx_debug-shell/":"/reference/cli/docker/buildx/debug/","/engine/reference/commandline/buildx_debug/":"/reference/cli/docker/buildx/debug/","/engine/reference/commandline/buildx_debug_build/":"/reference/cli/docker/buildx/debug/build/","/engine/reference/commandline/buildx_du/":"/reference/cli/docker/buildx/du/","/engine/reference/commandline/buildx_imagetools/":"/reference/cli/docker/buildx/imagetools/","/engine/reference/commandline/buildx_imagetools_create/":"/reference/cli/docker/buildx/imagetools/create/","/engine/reference/commandline/buildx_imagetools_inspect/":"/reference/cli/docker/buildx/imagetools/inspect/","/engine/reference/commandline/buildx_inspect/":"/reference/cli/docker/buildx/inspect/","/engine/reference/commandline/buildx_ls/":"/reference/cli/docker/buildx/ls/","/engine/reference/commandline/buildx_prune/":"/reference/cli/docker/buildx/prune/","/engine/reference/commandline/buildx_rm/":"/reference/cli/docker/buildx/rm/","/engine/reference/commandline/buildx_stop/":"/reference/cli/docker/buildx/stop/","/engine/reference/commandline/buildx_use/":"/reference/cli/docker/buildx/use/","/engine/reference/commandline/buildx_version/":"/reference/cli/docker/buildx/version/","/engine/reference/commandline/checkpoint/":"/reference/cli/docker/checkpoint/","/engine/reference/commandline/checkpoint_create/":"/reference/cli/docker/checkpoint/create/","/engine/reference/commandline/checkpoint_ls/":"/reference/cli/docker/checkpoint/ls/","/engine/reference/commandline/checkpoint_rm/":"/reference/cli/docker/checkpoint/rm/","/engine/reference/commandline/cli/":"/reference/cli/docker/","/engine/reference/commandline/commit/":"/reference/cli/docker/container/commit/","/engine/reference/commandline/compose/":"/reference/cli/docker/compose/","/engine/reference/commandline/compose_alpha":"/reference/cli/docker/compose/alpha/","/engine/reference/commandline/compose_alpha_dry-run":"/reference/cli/docker/compose/alpha/dry-run/","/engine/reference/commandline/compose_alpha_publish/":"/reference/cli/docker/compose/alpha/publish/","/engine/reference/commandline/compose_alpha_scale/":"/reference/cli/docker/compose/alpha/scale/","/engine/reference/commandline/compose_alpha_viz/":"/reference/cli/docker/compose/alpha/viz/","/engine/reference/commandline/compose_build/":"/reference/cli/docker/compose/build/","/engine/reference/commandline/compose_config/":"/reference/cli/docker/compose/config/","/engine/reference/commandline/compose_convert/":"/reference/cli/docker/compose/config/","/engine/reference/commandline/compose_cp/":"/reference/cli/docker/compose/cp/","/engine/reference/commandline/compose_create/":"/reference/cli/docker/compose/create/","/engine/reference/commandline/compose_down/":"/reference/cli/docker/compose/down/","/engine/reference/commandline/compose_events/":"/reference/cli/docker/compose/events/","/engine/reference/commandline/compose_exec/":"/reference/cli/docker/compose/exec/","/engine/reference/commandline/compose_images/":"/reference/cli/docker/compose/images/","/engine/reference/commandline/compose_kill/":"/reference/cli/docker/compose/kill/","/engine/reference/commandline/compose_logs/":"/reference/cli/docker/compose/logs/","/engine/reference/commandline/compose_ls/":"/reference/cli/docker/compose/ls/","/engine/reference/commandline/compose_pause/":"/reference/cli/docker/compose/pause/","/engine/reference/commandline/compose_port/":"/reference/cli/docker/compose/port/","/engine/reference/commandline/compose_ps/":"/reference/cli/docker/compose/ps/","/engine/reference/commandline/compose_pull/":"/reference/cli/docker/compose/pull/","/engine/reference/commandline/compose_push/":"/reference/cli/docker/compose/push/","/engine/reference/commandline/compose_restart/":"/reference/cli/docker/compose/restart/","/engine/reference/commandline/compose_rm/":"/reference/cli/docker/compose/rm/","/engine/reference/commandline/compose_run/":"/reference/cli/docker/compose/run/","/engine/reference/commandline/compose_start/":"/reference/cli/docker/compose/start/","/engine/reference/commandline/compose_stop/":"/reference/cli/docker/compose/stop/","/engine/reference/commandline/compose_top/":"/reference/cli/docker/compose/top/","/engine/reference/commandline/compose_unpause/":"/reference/cli/docker/compose/unpause/","/engine/reference/commandline/compose_up/":"/reference/cli/docker/compose/up/","/engine/reference/commandline/compose_version/":"/reference/cli/docker/compose/version/","/engine/reference/commandline/compose_wait/":"/reference/cli/docker/compose/wait/","/engine/reference/commandline/compose_watch/":"/reference/cli/docker/compose/watch/","/engine/reference/commandline/config/":"/reference/cli/docker/config/","/engine/reference/commandline/config_create/":"/reference/cli/docker/config/create/","/engine/reference/commandline/config_inspect/":"/reference/cli/docker/config/inspect/","/engine/reference/commandline/config_ls/":"/reference/cli/docker/config/ls/","/engine/reference/commandline/config_rm/":"/reference/cli/docker/config/rm/","/engine/reference/commandline/container/":"/reference/cli/docker/container/","/engine/reference/commandline/container_attach/":"/reference/cli/docker/container/attach/","/engine/reference/commandline/container_commit/":"/reference/cli/docker/container/commit/","/engine/reference/commandline/container_cp/":"/reference/cli/docker/container/cp/","/engine/reference/commandline/container_create/":"/reference/cli/docker/container/create/","/engine/reference/commandline/container_diff/":"/reference/cli/docker/container/diff/","/engine/reference/commandline/container_exec/":"/reference/cli/docker/container/exec/","/engine/reference/commandline/container_export/":"/reference/cli/docker/container/export/","/engine/reference/commandline/container_inspect/":"/reference/cli/docker/container/inspect/","/engine/reference/commandline/container_kill/":"/reference/cli/docker/container/kill/","/engine/reference/commandline/container_logs/":"/reference/cli/docker/container/logs/","/engine/reference/commandline/container_ls/":"/reference/cli/docker/container/ls/","/engine/reference/commandline/container_pause/":"/reference/cli/docker/container/pause/","/engine/reference/commandline/container_port/":"/reference/cli/docker/container/port/","/engine/reference/commandline/container_prune/":"/reference/cli/docker/container/prune/","/engine/reference/commandline/container_rename/":"/reference/cli/docker/container/rename/","/engine/reference/commandline/container_restart/":"/reference/cli/docker/container/restart/","/engine/reference/commandline/container_rm/":"/reference/cli/docker/container/rm/","/engine/reference/commandline/container_run/":"/reference/cli/docker/container/run/","/engine/reference/commandline/container_start/":"/reference/cli/docker/container/start/","/engine/reference/commandline/container_stats/":"/reference/cli/docker/container/stats/","/engine/reference/commandline/container_stop/":"/reference/cli/docker/container/stop/","/engine/reference/commandline/container_top/":"/reference/cli/docker/container/top/","/engine/reference/commandline/container_unpause/":"/reference/cli/docker/container/unpause/","/engine/reference/commandline/container_update/":"/reference/cli/docker/container/update/","/engine/reference/commandline/container_wait/":"/reference/cli/docker/container/wait/","/engine/reference/commandline/context/":"/reference/cli/docker/context/","/engine/reference/commandline/context_create/":"/reference/cli/docker/context/create/","/engine/reference/commandline/context_export/":"/reference/cli/docker/context/export/","/engine/reference/commandline/context_import/":"/reference/cli/docker/context/import/","/engine/reference/commandline/context_inspect/":"/reference/cli/docker/context/inspect/","/engine/reference/commandline/context_ls/":"/reference/cli/docker/context/ls/","/engine/reference/commandline/context_rm/":"/reference/cli/docker/context/rm/","/engine/reference/commandline/context_show/":"/reference/cli/docker/context/show/","/engine/reference/commandline/context_update/":"/reference/cli/docker/context/update/","/engine/reference/commandline/context_use/":"/reference/cli/docker/context/use/","/engine/reference/commandline/cp/":"/reference/cli/docker/container/cp/","/engine/reference/commandline/create/":"/reference/cli/docker/container/create/","/engine/reference/commandline/daemon/":"/reference/cli/dockerd/","/engine/reference/commandline/debug/":"/reference/cli/docker/debug/","/engine/reference/commandline/deploy/":"/reference/cli/docker/stack/deploy/","/engine/reference/commandline/diff/":"/reference/cli/docker/container/diff/","/engine/reference/commandline/docker/":"/reference/cli/docker/","/engine/reference/commandline/dockerd/":"/reference/cli/dockerd/","/engine/reference/commandline/events/":"/reference/cli/docker/system/events/","/engine/reference/commandline/exec/":"/reference/cli/docker/container/exec/","/engine/reference/commandline/export/":"/reference/cli/docker/container/export/","/engine/reference/commandline/history/":"/reference/cli/docker/image/history/","/engine/reference/commandline/image/":"/reference/cli/docker/image/","/engine/reference/commandline/image_build/":"/reference/cli/docker/buildx/build/","/engine/reference/commandline/image_history/":"/reference/cli/docker/image/history/","/engine/reference/commandline/image_import/":"/reference/cli/docker/image/import/","/engine/reference/commandline/image_inspect/":"/reference/cli/docker/image/inspect/","/engine/reference/commandline/image_load/":"/reference/cli/docker/image/load/","/engine/reference/commandline/image_ls/":"/reference/cli/docker/image/ls/","/engine/reference/commandline/image_prune/":"/reference/cli/docker/image/prune/","/engine/reference/commandline/image_pull/":"/reference/cli/docker/image/pull/","/engine/reference/commandline/image_push/":"/reference/cli/docker/image/push/","/engine/reference/commandline/image_rm/":"/reference/cli/docker/image/rm/","/engine/reference/commandline/image_save/":"/reference/cli/docker/image/save/","/engine/reference/commandline/image_tag/":"/reference/cli/docker/image/tag/","/engine/reference/commandline/images/":"/reference/cli/docker/image/ls/","/engine/reference/commandline/import/":"/reference/cli/docker/image/import/","/engine/reference/commandline/info/":"/reference/cli/docker/system/info/","/engine/reference/commandline/init/":"/reference/cli/docker/init/","/engine/reference/commandline/inspect/":"/reference/cli/docker/inspect/","/engine/reference/commandline/kill/":"/reference/cli/docker/container/kill/","/engine/reference/commandline/load/":"/reference/cli/docker/image/load/","/engine/reference/commandline/login/":"/reference/cli/docker/login/","/engine/reference/commandline/logout/":"/reference/cli/docker/logout/","/engine/reference/commandline/logs/":"/reference/cli/docker/container/logs/","/engine/reference/commandline/manifest/":"/reference/cli/docker/manifest/","/engine/reference/commandline/manifest_annotate/":"/reference/cli/docker/manifest/annotate/","/engine/reference/commandline/manifest_create/":"/reference/cli/docker/manifest/create/","/engine/reference/commandline/manifest_inspect/":"/reference/cli/docker/manifest/inspect/","/engine/reference/commandline/manifest_push/":"/reference/cli/docker/manifest/push/","/engine/reference/commandline/manifest_rm/":"/reference/cli/docker/manifest/rm/","/engine/reference/commandline/network/":"/reference/cli/docker/network/","/engine/reference/commandline/network_connect/":"/reference/cli/docker/network/connect/","/engine/reference/commandline/network_create/":"/reference/cli/docker/network/create/","/engine/reference/commandline/network_disconnect/":"/reference/cli/docker/network/disconnect/","/engine/reference/commandline/network_inspect/":"/reference/cli/docker/network/inspect/","/engine/reference/commandline/network_ls/":"/reference/cli/docker/network/ls/","/engine/reference/commandline/network_prune/":"/reference/cli/docker/network/prune/","/engine/reference/commandline/network_rm/":"/reference/cli/docker/network/rm/","/engine/reference/commandline/node/":"/reference/cli/docker/node/","/engine/reference/commandline/node_demote/":"/reference/cli/docker/node/demote/","/engine/reference/commandline/node_inspect/":"/reference/cli/docker/node/inspect/","/engine/reference/commandline/node_ls/":"/reference/cli/docker/node/ls/","/engine/reference/commandline/node_promote/":"/reference/cli/docker/node/promote/","/engine/reference/commandline/node_ps/":"/reference/cli/docker/node/ps/","/engine/reference/commandline/node_rm/":"/reference/cli/docker/node/rm/","/engine/reference/commandline/node_update/":"/reference/cli/docker/node/update/","/engine/reference/commandline/pause/":"/reference/cli/docker/container/pause/","/engine/reference/commandline/plugin/":"/reference/cli/docker/plugin/","/engine/reference/commandline/plugin_create/":"/reference/cli/docker/plugin/create/","/engine/reference/commandline/plugin_disable/":"/reference/cli/docker/plugin/disable/","/engine/reference/commandline/plugin_enable/":"/reference/cli/docker/plugin/enable/","/engine/reference/commandline/plugin_inspect/":"/reference/cli/docker/plugin/inspect/","/engine/reference/commandline/plugin_install/":"/reference/cli/docker/plugin/install/","/engine/reference/commandline/plugin_ls/":"/reference/cli/docker/plugin/ls/","/engine/reference/commandline/plugin_push/":"/reference/cli/docker/plugin/push/","/engine/reference/commandline/plugin_rm/":"/reference/cli/docker/plugin/rm/","/engine/reference/commandline/plugin_set/":"/reference/cli/docker/plugin/set/","/engine/reference/commandline/plugin_upgrade/":"/reference/cli/docker/plugin/upgrade/","/engine/reference/commandline/port/":"/reference/cli/docker/container/port/","/engine/reference/commandline/ps/":"/reference/cli/docker/container/ls/","/engine/reference/commandline/pull/":"/reference/cli/docker/image/pull/","/engine/reference/commandline/push/":"/reference/cli/docker/image/push/","/engine/reference/commandline/rename/":"/reference/cli/docker/container/rename/","/engine/reference/commandline/restart/":"/reference/cli/docker/container/restart/","/engine/reference/commandline/rm/":"/reference/cli/docker/container/rm/","/engine/reference/commandline/rmi/":"/reference/cli/docker/image/rm/","/engine/reference/commandline/run/":"/reference/cli/docker/container/run/","/engine/reference/commandline/save/":"/reference/cli/docker/image/save/","/engine/reference/commandline/scout":"/reference/cli/docker/scout/","/engine/reference/commandline/scout_attestation":"/reference/cli/docker/scout/attestation/","/engine/reference/commandline/scout_attestation_add":"/reference/cli/docker/scout/attestation/add/","/engine/reference/commandline/scout_cache/":"/reference/cli/docker/scout/cache/","/engine/reference/commandline/scout_cache_df/":"/reference/cli/docker/scout/cache/df/","/engine/reference/commandline/scout_cache_prune/":"/reference/cli/docker/scout/cache/prune/","/engine/reference/commandline/scout_compare":"/reference/cli/docker/scout/compare/","/engine/reference/commandline/scout_config":"/reference/cli/docker/scout/config/","/engine/reference/commandline/scout_cves":"/reference/cli/docker/scout/cves/","/engine/reference/commandline/scout_enroll":"/reference/cli/docker/scout/enroll/","/engine/reference/commandline/scout_environment":"/reference/cli/docker/scout/environment/","/engine/reference/commandline/scout_integration":"/reference/cli/docker/scout/integration/","/engine/reference/commandline/scout_integration_configure":"/reference/cli/docker/scout/integration/configure/","/engine/reference/commandline/scout_integration_delete":"/reference/cli/docker/scout/integration/delete/","/engine/reference/commandline/scout_integration_list":"/reference/cli/docker/scout/integration/list/","/engine/reference/commandline/scout_policy":"/reference/cli/docker/scout/policy/","/engine/reference/commandline/scout_quickview":"/reference/cli/docker/scout/quickview/","/engine/reference/commandline/scout_recommendations":"/reference/cli/docker/scout/recommendations/","/engine/reference/commandline/scout_repo":"/reference/cli/docker/scout/repo/","/engine/reference/commandline/scout_repo_disable":"/reference/cli/docker/scout/repo/disable/","/engine/reference/commandline/scout_repo_enable":"/reference/cli/docker/scout/repo/enable/","/engine/reference/commandline/scout_repo_list":"/reference/cli/docker/scout/repo/list/","/engine/reference/commandline/scout_sbom":"/reference/cli/docker/scout/sbom/","/engine/reference/commandline/scout_stream":"/reference/cli/docker/scout/stream/","/engine/reference/commandline/scout_version":"/reference/cli/docker/scout/version/","/engine/reference/commandline/scout_watch":"/reference/cli/docker/scout/watch/","/engine/reference/commandline/search/":"/reference/cli/docker/search/","/engine/reference/commandline/secret/":"/reference/cli/docker/secret/","/engine/reference/commandline/secret_create/":"/reference/cli/docker/secret/create/","/engine/reference/commandline/secret_inspect/":"/reference/cli/docker/secret/inspect/","/engine/reference/commandline/secret_ls/":"/reference/cli/docker/secret/ls/","/engine/reference/commandline/secret_rm/":"/reference/cli/docker/secret/rm/","/engine/reference/commandline/service/":"/reference/cli/docker/service/","/engine/reference/commandline/service_create/":"/reference/cli/docker/service/create/","/engine/reference/commandline/service_inspect/":"/reference/cli/docker/service/inspect/","/engine/reference/commandline/service_logs/":"/reference/cli/docker/service/logs/","/engine/reference/commandline/service_ls/":"/reference/cli/docker/service/ls/","/engine/reference/commandline/service_ps/":"/reference/cli/docker/service/ps/","/engine/reference/commandline/service_rm/":"/reference/cli/docker/service/rm/","/engine/reference/commandline/service_rollback/":"/reference/cli/docker/service/rollback/","/engine/reference/commandline/service_scale/":"/reference/cli/docker/service/scale/","/engine/reference/commandline/service_update/":"/reference/cli/docker/service/update/","/engine/reference/commandline/stack/":"/reference/cli/docker/stack/","/engine/reference/commandline/stack_config":"/reference/cli/docker/stack/config/","/engine/reference/commandline/stack_deploy/":"/reference/cli/docker/stack/deploy/","/engine/reference/commandline/stack_ls/":"/reference/cli/docker/stack/ls/","/engine/reference/commandline/stack_rm/":"/reference/cli/docker/stack/rm/","/engine/reference/commandline/stack_services/":"/reference/cli/docker/stack/services/","/engine/reference/commandline/stack_tasks/":"/reference/cli/docker/stack/ps/","/engine/reference/commandline/start/":"/reference/cli/docker/container/start/","/engine/reference/commandline/stats/":"/reference/cli/docker/container/stats/","/engine/reference/commandline/stop/":"/reference/cli/docker/container/stop/","/engine/reference/commandline/swarm/":"/reference/cli/docker/swarm/","/engine/reference/commandline/swarm_ca/":"/reference/cli/docker/swarm/ca/","/engine/reference/commandline/swarm_init/":"/reference/cli/docker/swarm/init/","/engine/reference/commandline/swarm_join-token/":"/reference/cli/docker/swarm/join-token/","/engine/reference/commandline/swarm_join/":"/reference/cli/docker/swarm/join/","/engine/reference/commandline/swarm_join_token/":"/reference/cli/docker/swarm/join-token/","/engine/reference/commandline/swarm_leave/":"/reference/cli/docker/swarm/leave/","/engine/reference/commandline/swarm_unlock-key/":"/reference/cli/docker/swarm/unlock-key/","/engine/reference/commandline/swarm_unlock/":"/reference/cli/docker/swarm/unlock/","/engine/reference/commandline/swarm_update/":"/reference/cli/docker/swarm/update/","/engine/reference/commandline/system/":"/reference/cli/docker/system/","/engine/reference/commandline/system_df/":"/reference/cli/docker/system/df/","/engine/reference/commandline/system_events/":"/reference/cli/docker/system/events/","/engine/reference/commandline/system_info/":"/reference/cli/docker/system/info/","/engine/reference/commandline/system_prune/":"/reference/cli/docker/system/prune/","/engine/reference/commandline/tag/":"/reference/cli/docker/image/tag/","/engine/reference/commandline/top/":"/reference/cli/docker/container/top/","/engine/reference/commandline/trust/":"/reference/cli/docker/trust/","/engine/reference/commandline/trust_inspect/":"/reference/cli/docker/trust/inspect/","/engine/reference/commandline/trust_key/":"/reference/cli/docker/trust/key/","/engine/reference/commandline/trust_key_generate/":"/reference/cli/docker/trust/key/generate/","/engine/reference/commandline/trust_key_load/":"/reference/cli/docker/trust/key/load/","/engine/reference/commandline/trust_revoke/":"/reference/cli/docker/trust/revoke/","/engine/reference/commandline/trust_sign/":"/reference/cli/docker/trust/sign/","/engine/reference/commandline/trust_signer/":"/reference/cli/docker/trust/signer/","/engine/reference/commandline/trust_signer_add/":"/reference/cli/docker/trust/signer/add/","/engine/reference/commandline/trust_signer_remove/":"/reference/cli/docker/trust/signer/remove/","/engine/reference/commandline/unpause/":"/reference/cli/docker/container/unpause/","/engine/reference/commandline/update/":"/reference/cli/docker/container/update/","/engine/reference/commandline/version/":"/reference/cli/docker/version/","/engine/reference/commandline/volume/":"/reference/cli/docker/volume/","/engine/reference/commandline/volume_create/":"/reference/cli/docker/volume/create/","/engine/reference/commandline/volume_inspect/":"/reference/cli/docker/volume/inspect/","/engine/reference/commandline/volume_ls/":"/reference/cli/docker/volume/ls/","/engine/reference/commandline/volume_prune/":"/reference/cli/docker/volume/prune/","/engine/reference/commandline/volume_rm/":"/reference/cli/docker/volume/rm/","/engine/reference/commandline/volume_update":"/reference/cli/docker/volume/update/","/engine/reference/commandline/wait/":"/reference/cli/docker/container/wait/","/engine/reference/glossary/":"/reference/glossary/","/engine/reference/logging/":"/engine/logging/configure/","/engine/reference/logging/awslogs/":"/engine/logging/drivers/awslogs/","/engine/reference/logging/fluentd/":"/engine/logging/drivers/fluentd/","/engine/reference/logging/gelf/":"/engine/logging/drivers/gelf/","/engine/reference/logging/journald/":"/engine/logging/drivers/journald/","/engine/reference/logging/json-file/":"/engine/logging/drivers/json-file/","/engine/reference/logging/local/":"/engine/logging/drivers/local/","/engine/reference/logging/log_tags/":"/engine/logging/log_tags/","/engine/reference/logging/overview/":"/engine/logging/configure/","/engine/reference/logging/plugins/":"/engine/logging/plugins/","/engine/reference/logging/splunk/":"/engine/logging/drivers/splunk/","/engine/reference/logging/syslog/":"/engine/logging/drivers/syslog/","/engine/reference/run/":"/engine/containers/run/","/engine/release-notes/":"/engine/release-notes/27/","/engine/release-notes/27.0/":"/engine/release-notes/27/","/engine/release-notes/27.1/":"/engine/release-notes/27/","/engine/release-notes/latest/":"/engine/release-notes/27/","/engine/sbom/":"/scout/how-tos/view-create-sboms/","/engine/scan/":"/scout/","/engine/security/https/":"/engine/security/protect-access/","/engine/security/security/":"/engine/security/","/engine/security/trust/content_trust/":"/engine/security/trust/","/engine/swarm/how-swarm-mode-works/":"/engine/swarm/how-swarm-mode-works/nodes/","/engine/swarm/manager-administration-guide/":"/engine/swarm/admin_guide/","/engine/tutorials/dockerrepos/":"/docker-hub/repos/","/engine/tutorials/dockervolumes/":"/engine/storage/volumes/","/engine/understanding-docker/":"/get-started/docker-overview/","/engine/userguide/":"/engine/daemon/","/engine/userguide/basics/":"/get-started/docker-overview/","/engine/userguide/dockervolumes/":"/engine/storage/volumes/","/engine/userguide/eng-image/baseimages/":"/build/building/base-images/","/engine/userguide/eng-image/dockerfile_best-practices/":"/build/building/best-practices/","/engine/userguide/eng-image/multistage-build/":"/build/building/multi-stage/","/engine/userguide/labels-custom-metadata/":"/engine/manage-resources/labels/","/engine/userguide/networking/":"/engine/network/","/engine/userguide/networking/configure-dns/":"/engine/network/","/engine/userguide/networking/default_network/binding/":"/engine/network/","/engine/userguide/networking/default_network/build-bridges/":"/engine/network/drivers/bridge/","/engine/userguide/networking/default_network/configure-dns/":"/engine/network/","/engine/userguide/networking/default_network/container-communication/":"/engine/network/","/engine/userguide/networking/default_network/custom-docker0/":"/engine/network/drivers/bridge/","/engine/userguide/networking/default_network/dockerlinks/":"/engine/network/links/","/engine/userguide/networking/default_network/ipv6/":"/engine/daemon/ipv6/","/engine/userguide/networking/dockernetworks/":"/engine/network/","/engine/userguide/networking/get-started-macvlan/":"/engine/network/drivers/macvlan/","/engine/userguide/networking/get-started-overlay/":"/engine/network/tutorials/overlay/","/engine/userguide/networking/overlay-security-model/":"/engine/network/drivers/overlay/","/engine/userguide/networking/overlay-standalone-swarm/":"/engine/swarm/","/engine/userguide/networking/work-with-networks/":"/engine/network/drivers/bridge/","/enterprise/supported-platforms/":"/engine/install/","/examples/":"/reference/samples/","/extensions/extensions-sdk/dev/api/reference/README/":"/reference/api/extensions-sdk/","/extensions/extensions-sdk/dev/api/reference/interfaces/BackendV0/":"/reference/api/extensions-sdk/BackendV0/","/extensions/extensions-sdk/dev/api/reference/interfaces/DesktopUI/":"/reference/api/extensions-sdk/DesktopUI/","/extensions/extensions-sdk/dev/api/reference/interfaces/Dialog/":"/reference/api/extensions-sdk/Dialog/","/extensions/extensions-sdk/dev/api/reference/interfaces/Docker/":"/reference/api/extensions-sdk/Docker/","/extensions/extensions-sdk/dev/api/reference/interfaces/DockerCommand/":"/reference/api/extensions-sdk/DockerCommand/","/extensions/extensions-sdk/dev/api/reference/interfaces/DockerDesktopClient/":"/reference/api/extensions-sdk/DockerDesktopClient/","/extensions/extensions-sdk/dev/api/reference/interfaces/Exec/":"/reference/api/extensions-sdk/Exec/","/extensions/extensions-sdk/dev/api/reference/interfaces/ExecOptions/":"/reference/api/extensions-sdk/ExecOptions/","/extensions/extensions-sdk/dev/api/reference/interfaces/ExecProcess/":"/reference/api/extensions-sdk/ExecProcess/","/extensions/extensions-sdk/dev/api/reference/interfaces/ExecResult/":"/reference/api/extensions-sdk/ExecResult/","/extensions/extensions-sdk/dev/api/reference/interfaces/ExecResultV0/":"/reference/api/extensions-sdk/ExecResultV0/","/extensions/extensions-sdk/dev/api/reference/interfaces/ExecStreamOptions/":"/reference/api/extensions-sdk/ExecStreamOptions/","/extensions/extensions-sdk/dev/api/reference/interfaces/Extension/":"/reference/api/extensions-sdk/Extension/","/extensions/extensions-sdk/dev/api/reference/interfaces/ExtensionCli/":"/reference/api/extensions-sdk/ExtensionCli/","/extensions/extensions-sdk/dev/api/reference/interfaces/ExtensionHost/":"/reference/api/extensions-sdk/ExtensionHost/","/extensions/extensions-sdk/dev/api/reference/interfaces/ExtensionVM/":"/reference/api/extensions-sdk/ExtensionVM/","/extensions/extensions-sdk/dev/api/reference/interfaces/Host/":"/reference/api/extensions-sdk/Host/","/extensions/extensions-sdk/dev/api/reference/interfaces/HttpService/":"/reference/api/extensions-sdk/HttpService/","/extensions/extensions-sdk/dev/api/reference/interfaces/NavigationIntents/":"/reference/api/extensions-sdk/NavigationIntents/","/extensions/extensions-sdk/dev/api/reference/interfaces/OpenDialogResult/":"/reference/api/extensions-sdk/OpenDialogResult/","/extensions/extensions-sdk/dev/api/reference/interfaces/RawExecResult/":"/reference/api/extensions-sdk/RawExecResult/","/extensions/extensions-sdk/dev/api/reference/interfaces/RequestConfig/":"/reference/api/extensions-sdk/RequestConfig/","/extensions/extensions-sdk/dev/api/reference/interfaces/RequestConfigV0/":"/reference/api/extensions-sdk/RequestConfigV0/","/extensions/extensions-sdk/dev/api/reference/interfaces/ServiceError/":"/reference/api/extensions-sdk/ServiceError/","/extensions/extensions-sdk/dev/api/reference/interfaces/SpawnOptions/":"/reference/api/extensions-sdk/SpawnOptions/","/extensions/extensions-sdk/dev/api/reference/interfaces/Toast/":"/reference/api/extensions-sdk/Toast/","/faq/admin/company-faqs/":"/admin/faqs/company-faqs/","/faq/admin/general-faqs/":"/admin/faqs/general-faqs/","/faq/admin/organization-faqs/":"/admin/faqs/organization-faqs/","/faq/security/containers/":"/security/faqs/containers/","/faq/security/general/":"/security/faqs/general/","/faq/security/networking-and-vms/":"/security/faqs/networking-and-vms/","/faq/security/single-sign-on/domain-faqs/":"/security/faqs/single-sign-on/domain-faqs/","/faq/security/single-sign-on/enforcement-faqs/":"/security/faqs/single-sign-on/enforcement-faqs/","/faq/security/single-sign-on/faqs/":"/security/faqs/single-sign-on/faqs/","/faq/security/single-sign-on/idp-faqs/":"/security/faqs/single-sign-on/idp-faqs/","/faq/security/single-sign-on/saml-faqs/":"/security/faqs/single-sign-on/faqs/","/faq/security/single-sign-on/users-faqs/":"/security/faqs/single-sign-on/users-faqs/","/feedback/desktop-build/":"https://docker.qualtrics.com/jfe/form/SV_3OGeFazYFGv4Zj8","/feedback/extension/":"https://docs.google.com/forms/d/e/1FAIpQLSenjK8KiBiOrwCpq06u_iVEZGv4tfTEpfmY_cQDmsqJrHL9Gw/viewform","/feedback/gha-build-summary/":"https://docker.qualtrics.com/jfe/form/SV_3F9hnsKdzmlIr6m","/feedback/runtime/":"https://docs.google.com/forms/u/1/d/e/1FAIpQLScgzKwqQyr7BmnphdrcGTO3wkye_McHJVsWzOIgEESfqmditQ/formResponse","/get-docker/":"/get-started/get-docker/","/get-started/02_our_app/":"/get-started/workshop/02_our_app/","/get-started/03_updating_app/":"/get-started/workshop/03_updating_app/","/get-started/04_sharing_app/":"/get-started/workshop/04_sharing_app/","/get-started/05_persisting_data/":"/get-started/workshop/05_persisting_data/","/get-started/06_bind_mounts/":"/get-started/workshop/06_bind_mounts/","/get-started/07_multi_container/":"/get-started/workshop/07_multi_container/","/get-started/08_using_compose/":"/get-started/workshop/08_using_compose/","/get-started/09_image_best/":"/get-started/workshop/09_image_best/","/get-started/11_what_next/":"/get-started/workshop/10_what_next/","/get-started/golang/build-images/":"/guides/golang/build-images/","/get-started/golang/develop/":"/guides/golang/develop/","/get-started/golang/run-containers/":"/guides/golang/run-containers/","/get-started/golang/run-tests/":"/guides/golang/run-tests/","/get-started/hands-on-overview/":"/get-started/workshop/","/get-started/kube-deploy/":"/guides/kube-deploy/","/get-started/nodejs/build-images/":"/guides/nodejs/containerize/","/get-started/nodejs/develop/":"/guides/nodejs/develop/","/get-started/orchestration/":"/guides/orchestration/","/get-started/overview/":"/get-started/docker-overview/","/get-started/part2/":"/get-started/workshop/02_our_app/","/get-started/part3/":"/get-started/workshop/04_sharing_app/","/get-started/part4/":"/guides/swarm-deploy/","/get-started/run-your-own-container/":"/get-started/docker-concepts/the-basics/what-is-a-container/","/get-started/swarm-deploy/":"/guides/swarm-deploy/","/getting-started/get-docker-desktop/":"/get-started/introduction/get-docker-desktop/","/glossary/":"/reference/glossary/","/go/access-tokens/":"/security/for-developers/access-tokens/","/go/api-security/":"/engine/security/protect-access/","/go/apple-silicon/":"/desktop/mac/apple-silicon/","/go/attack-surface/":"/engine/security/#docker-daemon-attack-surface","/go/attestations/":"/build/attestations/","/go/base-image-pinning/":"/build/building/best-practices/#pin-base-image-versions","/go/build-additional-context/":"/reference/cli/docker/buildx/build/#build-context","/go/build-args/":"/build/building/variables/#arg-usage-example","/go/build-attestations-gha/":"/build/ci/github-actions/attestations/","/go/build-cache-backends/":"/build/cache/backends/","/go/build-checks-experimental/":"/build/checks/#experimental-checks","/go/build-context-dockerignore/":"/build/concepts/context/#dockerignore-files","/go/build-eap/":"https://www.docker.com/build-early-access-program/?utm_campaign=onboard-30-customer-zero&utm_medium=in-product-ad&utm_source=desktop_v4","/go/build-exporters/":"/build/exporters/","/go/build-ga/":"https://www.docker.com/products/build-cloud/?utm_campaign=2024-02-02-banner_dbc_ga&utm_medium=in-product-ad&utm_source=desktop_v4","/go/build-multi-platform/":"/build/building/multi-platform/","/go/build-secrets/":"/build/building/secrets/","/go/build-ssh/":"/build/building/secrets/#ssh-mounts","/go/build-summary/":"/build/ci/github-actions/build-summary/","/go/builders/":"/build/builders/","/go/builders/selected/":"/build/builders/#selected-builder","/go/buildkit/":"/build/buildkit/#getting-started","/go/builds-import/":"/desktop/use-desktop/builds/#import-builds","/go/builds/":"/desktop/use-desktop/builds/","/go/buildx/":"/build/architecture/#install-buildx","/go/compose-ecs-eol/":"/cloud/ecs-integration/","/go/compose-native-build/":"/reference/cli/docker/compose/build/","/go/compose-spec-reference/":"/reference/compose-file","/go/compose-v1-eol/":"/compose/releases/migrate/","/go/credential-store/":"/reference/cli/docker/login/#credential-stores","/go/daemon-access/":"/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user","/go/debug-cli/":"/reference/cli/docker/debug/","/go/debug-gui/":"/desktop/use-desktop/container/#integrated-terminal","/go/deprecated-image-specs/":"/registry/spec/deprecated-schema-v1/","/go/deprecated/":"/engine/deprecated/#deprecated-engine-features-1","/go/docker-build-cloud/":"https://www.docker.com/products/build-cloud/?utm_campaign=2024-02-02-dbc_cli&utm_medium=in-product-ad&utm_source=desktop_v4","/go/docker-scout/":"/scout/","/go/dockerfile-aptget-best-practices/":"/build/building/best-practices/#apt-get","/go/dockerfile-reference/":"/reference/dockerfile","/go/dockerfile-user-best-practices/":"/build/building/best-practices/#user","/go/dockerfile/rule/consistent-instruction-casing/":"/reference/build-checks/consistent-instruction-casing/","/go/dockerfile/rule/copy-ignored-file/":"/reference/build-checks/copy-ignored-file/","/go/dockerfile/rule/duplicate-stage-name/":"/reference/build-checks/duplicate-stage-name/","/go/dockerfile/rule/from-as-casing/":"/reference/build-checks/from-as-casing/","/go/dockerfile/rule/from-platform-flag-const-disallowed/":"/reference/build-checks/from-platform-flag-const-disallowed/","/go/dockerfile/rule/invalid-default-arg-in-from/":"/reference/build-checks/invalid-default-arg-in-from/","/go/dockerfile/rule/invalid-definition-description/":"/reference/build-checks/invalid-definition-description/","/go/dockerfile/rule/json-args-recommended/":"/reference/build-checks/json-args-recommended/","/go/dockerfile/rule/legacy-key-value-format/":"/reference/build-checks/legacy-key-value-format/","/go/dockerfile/rule/maintainer-deprecated/":"/reference/build-checks/maintainer-deprecated/","/go/dockerfile/rule/multiple-instructions-disallowed/":"/reference/build-checks/multiple-instructions-disallowed/","/go/dockerfile/rule/no-empty-continuation/":"/reference/build-checks/no-empty-continuation/","/go/dockerfile/rule/redundant-target-platform/":"/reference/build-checks/redundant-target-platform/","/go/dockerfile/rule/reserved-stage-name/":"/reference/build-checks/reserved-stage-name/","/go/dockerfile/rule/secrets-used-in-arg-or-env/":"/reference/build-checks/secrets-used-in-arg-or-env/","/go/dockerfile/rule/stage-name-casing/":"/reference/build-checks/stage-name-casing/","/go/dockerfile/rule/undefined-arg-in-from/":"/reference/build-checks/undefined-arg-in-from/","/go/dockerfile/rule/undefined-var/":"/reference/build-checks/undefined-var/","/go/dockerfile/rule/workdir-relative-path/":"/reference/build-checks/workdir-relative-path/","/go/experimental/":"/engine/reference/commandline/cli/#experimental-features","/go/filter/":"/engine/cli/filter/","/go/formatting/":"/engine/cli/formatting/","/go/get-started-sharing/":"/get-started/04_sharing_app","/go/guides/":"/?utm_source=docker&utm_medium=inproductad&utm_campaign=20-11nurturecli_docs","/go/insights-builds/":"/admin/organization/insights/#builds","/go/insights-containers/":"/admin/organization/insights/#containers","/go/insights-extensions/":"/admin/organization/insights/#extensions","/go/insights-images/":"/admin/organization/insights/#docker-hub-images","/go/insights-usage/":"/admin/organization/insights/#docker-desktop-usage","/go/insights-users/":"/admin/organization/insights/#docker-desktop-users/","/go/insights/":"/admin/organization/insights/","/go/labels/":"/engine/manage-resources/labels/","/go/linux-credentials/":"/desktop/get-started/#credentials-management-for-linux-users","/go/mac-desktop-pause/":"/desktop/use-desktop/pause/","/go/mac-file-sharing/":"/desktop/settings-and-maintenance/settings/#file-sharing","/go/provenance/":"/build/attestations/slsa-provenance/","/go/rootless/":"/engine/security/rootless/","/go/run-cloud-eap/":"/","/go/scout-acr/":"/scout/integrations/registry/acr/","/go/scout-analysis/":"/scout/explore/analysis/","/go/scout-artifactory/":"/scout/integrations/registry/artifactory","/go/scout-azure/":"/scout/integrations/ci/azure/","/go/scout-ci/":"/scout/integrations/ci/","/go/scout-circle-ci/":"/scout/integrations/ci/circle-ci/","/go/scout-configure-policy/":"/scout/policy/configure/","/go/scout-dashboard/":"/scout/explore/dashboard/","/go/scout-ecr/":"/scout/integrations/registry/ecr/","/go/scout-env/":"/scout/integrations/environment/","/go/scout-exceptions/":"/scout/explore/exceptions/","/go/scout-gha/":"/scout/integrations/ci/gha/","/go/scout-github/":"/scout/integrations/source-code-management/github/","/go/scout-gitlab/":"/scout/integrations/ci/gitlab/","/go/scout-how-to-push-images/":"/scout/explore/analysis/#analyze-registry-images","/go/scout-jenkins/":"/scout/integrations/ci/jenkins/","/go/scout-metrics-exporter":"/scout/explore/metrics-exporter/","/go/scout-notifications/":"/scout/explore/dashboard/#notification-settings","/go/scout-policy-dsp001/":"/scout/policy/#severity-based-vulnerability","/go/scout-policy-dsp002/":"/scout/policy/#compliant-licenses","/go/scout-policy-dsp003/":"/scout/policy/#up-to-date-base-images","/go/scout-policy-dsp004/":"/scout/policy/#high-profile-vulnerabilities","/go/scout-policy-dsp005/":"/scout/policy/#supply-chain-attestations","/go/scout-policy-dsp006/":"/scout/policy/#default-non-root-user","/go/scout-policy-dsp007/":"/scout/policy/#approved-base-images","/go/scout-policy-dsp008/":"/scout/policy/#sonarqube-quality-gates","/go/scout-policy/":"/scout/policy/","/go/scout-quickstart/":"/scout/quickstart/","/go/scout-scores/":"/scout/policy/scores/","/go/scout-slack/":"/scout/integrations/team-collaboration/slack/","/go/scout-sq/":"/scout/integrations/code-quality/sonarqube/","/go/scout-sysdig/":"/scout/integrations/environment/sysdig/","/go/scout/":"/scout/","/go/storage-driver/":"/engine/storage/drivers/select-storage-driver/","/go/tip-scanning/":"/docker-hub/vulnerability-scanning/","/go/vex-guide/":"/scout/guides/vex/","/go/volume-export-aws/":"/desktop/use-desktop/volumes/#export-a-volume","/go/volume-export-azure/":"/desktop/use-desktop/volumes/#export-a-volume","/go/volume-export-gcs/":"/desktop/use-desktop/volumes/#export-a-volume","/go/volume-export/":"/desktop/use-desktop/volumes/#export-a-volume","/go/win-desktop-pause/":"/desktop/use-desktop/pause/","/go/wsl2/":"/desktop/windows/wsl/","/guides/deployment-orchestration/kube-deploy/":"/guides/kube-deploy/","/guides/deployment-orchestration/orchestration/":"/guides/orchestration/","/guides/deployment-orchestration/swarm-deploy/":"/guides/swarm-deploy/","/guides/docker-concepts/building-images/build-tag-and-publish-an-image/":"/get-started/docker-concepts/building-images/build-tag-and-publish-an-image/","/guides/docker-concepts/building-images/multi-stage-builds/":"/get-started/docker-concepts/building-images/multi-stage-builds/","/guides/docker-concepts/building-images/understanding-image-layers/":"/get-started/docker-concepts/building-images/understanding-image-layers/","/guides/docker-concepts/building-images/using-the-build-cache/":"/get-started/docker-concepts/building-images/using-the-build-cache/","/guides/docker-concepts/building-images/writing-a-dockerfile/":"/get-started/docker-concepts/building-images/writing-a-dockerfile/","/guides/docker-concepts/running-containers/multi-container-applications/":"/get-started/docker-concepts/running-containers/multi-container-applications/","/guides/docker-concepts/running-containers/overriding-container-defaults/":"/get-started/docker-concepts/running-containers/overriding-container-defaults/","/guides/docker-concepts/running-containers/persisting-container-data/":"/get-started/docker-concepts/running-containers/persisting-container-data/","/guides/docker-concepts/running-containers/publishing-ports/":"/get-started/docker-concepts/running-containers/publishing-ports/","/guides/docker-concepts/running-containers/sharing-local-files/":"/get-started/docker-concepts/running-containers/sharing-local-files/","/guides/docker-concepts/the-basics/what-is-a-container/":"/get-started/docker-concepts/the-basics/what-is-a-container/","/guides/docker-concepts/the-basics/what-is-a-registry/":"/get-started/docker-concepts/the-basics/what-is-a-registry/","/guides/docker-concepts/the-basics/what-is-an-image/":"/get-started/docker-concepts/the-basics/what-is-an-image/","/guides/docker-concepts/the-basics/what-is-docker-compose/":"/get-started/docker-concepts/the-basics/what-is-docker-compose/","/guides/docker-overview/":"/get-started/docker-overview/","/guides/get-started/":"/get-started/workshop/","/guides/getting-started/":"/get-started/introduction/","/guides/getting-started/build-and-push-first-image/":"/get-started/introduction/build-and-push-first-image/","/guides/getting-started/develop-with-containers/":"/get-started/introduction/develop-with-containers/","/guides/getting-started/whats-next/":"/get-started/introduction/whats-next/","/guides/language/cpp/":"/guides/cpp/","/guides/language/cpp/configure-ci-cd/":"/guides/cpp/configure-ci-cd/","/guides/language/cpp/containerize/":"/guides/cpp/containerize/","/guides/language/cpp/deploy/":"/guides/cpp/deploy/","/guides/language/cpp/develop/":"/guides/cpp/develop/","/guides/language/dotnet/":"/guides/dotnet/","/guides/language/dotnet/configure-ci-cd/":"/guides/dotnet/configure-ci-cd/","/guides/language/dotnet/containerize/":"/guides/dotnet/containerize/","/guides/language/dotnet/deploy/":"/guides/dotnet/deploy/","/guides/language/dotnet/develop/":"/guides/dotnet/develop/","/guides/language/dotnet/run-tests/":"/guides/dotnet/run-tests/","/guides/language/golang/":"/guides/golang/","/guides/language/golang/build-images/":"/guides/golang/build-images/","/guides/language/golang/configure-ci-cd/":"/guides/golang/configure-ci-cd/","/guides/language/golang/deploy/":"/guides/golang/deploy/","/guides/language/golang/develop/":"/guides/golang/develop/","/guides/language/golang/run-containers/":"/guides/golang/run-containers/","/guides/language/golang/run-tests/":"/guides/golang/run-tests/","/guides/language/java/":"/guides/java/","/guides/language/java/configure-ci-cd/":"/guides/java/configure-ci-cd/","/guides/language/java/containerize/":"/guides/java/containerize/","/guides/language/java/deploy/":"/guides/java/deploy/","/guides/language/java/develop/":"/guides/java/develop/","/guides/language/java/run-tests/":"/guides/java/run-tests/","/guides/language/nodejs/":"/guides/nodejs/","/guides/language/nodejs/configure-ci-cd/":"/guides/nodejs/configure-ci-cd/","/guides/language/nodejs/containerize/":"/guides/nodejs/containerize/","/guides/language/nodejs/deploy/":"/guides/nodejs/deploy/","/guides/language/nodejs/develop/":"/guides/nodejs/develop/","/guides/language/nodejs/run-tests/":"/guides/nodejs/run-tests/","/guides/language/php/":"/guides/php/","/guides/language/php/configure-ci-cd/":"/guides/php/configure-ci-cd/","/guides/language/php/containerize/":"/guides/php/containerize/","/guides/language/php/deploy/":"/guides/php/deploy/","/guides/language/php/develop/":"/guides/php/develop/","/guides/language/php/run-tests/":"/guides/php/run-tests/","/guides/language/python/":"/guides/python/","/guides/language/python/configure-ci-cd/":"/guides/python/configure-ci-cd/","/guides/language/python/containerize/":"/guides/python/containerize/","/guides/language/python/deploy/":"/guides/python/deploy/","/guides/language/python/develop/":"/guides/python/develop/","/guides/language/r/configure-ci-cd/":"/guides/r/configure-ci-cd/","/guides/language/r/containerize/":"/guides/r/containerize/","/guides/language/r/deploy/":"/guides/r/deploy/","/guides/language/r/develop/":"/guides/r/develop/","/guides/language/ruby/":"/guides/ruby/","/guides/language/ruby/configure-ci-cd/":"/guides/ruby/configure-ci-cd/","/guides/language/ruby/containerize/":"/guides/ruby/containerize/","/guides/language/ruby/deploy/":"/guides/ruby/deploy/","/guides/language/ruby/develop/":"/guides/ruby/develop/","/guides/language/rust/":"/guides/rust/","/guides/language/rust/build-images/":"/guides/rust/build-images/","/guides/language/rust/configure-ci-cd/":"/guides/rust/configure-ci-cd/","/guides/language/rust/deploy/":"/guides/rust/deploy/","/guides/language/rust/develop/":"/guides/rust/develop/","/guides/language/rust/run-containers/":"/guides/rust/run-containers/","/guides/languages/r/":"/guides/r/","/guides/use-case/databases/":"/guides/databases/","/guides/use-case/genai-pdf-bot/":"/guides/genai-pdf-bot/","/guides/use-case/genai-pdf-bot/containerize/":"/guides/genai-pdf-bot/containerize/","/guides/use-case/genai-pdf-bot/develop/":"/guides/genai-pdf-bot/develop/","/guides/use-case/genai-video-bot/":"/guides/genai-video-bot/","/guides/use-case/jupyter/":"/guides/jupyter/","/guides/use-case/kafka/":"/guides/kafka/","/guides/use-case/nlp/language-translation/":"/guides/language-translation/","/guides/use-case/nlp/named-entity-recognition/":"/guides/named-entity-recognition/","/guides/use-case/nlp/sentiment-analysis/":"/guides/sentiment-analysis/","/guides/use-case/nlp/text-classification/":"/guides/text-classification/","/guides/use-case/nlp/text-summarization/":"/guides/text-summarization/","/guides/use-case/rag-ollama/":"/guides/rag-ollama/","/guides/use-case/rag-ollama/containerize/":"/guides/rag-ollama/containerize/","/guides/use-case/rag-ollama/develop/":"/guides/rag-ollama/develop/","/guides/use-case/tensorflowjs/":"/guides/tensorflowjs/","/guides/walkthroughs/":"/get-started/docker-concepts/the-basics/what-is-a-container/","/guides/walkthroughs/access-local-folder/":"/get-started/workshop/06_bind_mounts/","/guides/walkthroughs/multi-container-apps/":"/get-started/docker-concepts/the-basics/what-is-docker-compose/","/guides/walkthroughs/persist-data/":"/get-started/docker-concepts/running-containers/persisting-container-data/","/guides/walkthroughs/publish-your-image/":"/get-started/docker-concepts/the-basics/what-is-a-registry/","/guides/walkthroughs/run-a-container/":"/get-started/docker-concepts/the-basics/what-is-a-container/","/guides/walkthroughs/run-hub-images/":"/get-started/docker-concepts/the-basics/what-is-a-registry/","/guides/walkthroughs/what-is-a-container/":"/get-started/docker-concepts/the-basics/what-is-a-container/","/guides/workshop/":"/get-started/workshop/","/guides/workshop/02_our_app/":"/get-started/workshop/02_our_app/","/guides/workshop/03_updating_app/":"/get-started/workshop/03_updating_app/","/guides/workshop/04_sharing_app/":"/get-started/workshop/04_sharing_app/","/guides/workshop/05_persisting_data/":"/get-started/workshop/05_persisting_data/","/guides/workshop/06_bind_mounts/":"/get-started/workshop/06_bind_mounts/","/guides/workshop/07_multi_container/":"/get-started/workshop/07_multi_container/","/guides/workshop/08_using_compose/":"/get-started/workshop/08_using_compose/","/guides/workshop/09_image_best/":"/get-started/workshop/09_image_best/","/guides/workshop/10_what_next/":"/get-started/workshop/10_what_next/","/install/":"/get-started/get-docker/","/install/linux/centos/":"/engine/install/centos/","/install/linux/docker-ce/binaries/":"/engine/install/binaries/","/install/linux/docker-ce/centos/":"/engine/install/centos/","/install/linux/docker-ce/debian/":"/engine/install/debian/","/install/linux/docker-ce/fedora/":"/engine/install/fedora/","/install/linux/docker-ce/sles/":"/engine/install/sles/","/install/linux/docker-ce/ubuntu/":"/engine/install/ubuntu/","/install/linux/docker-ee/centos/":"/engine/install/centos/","/install/linux/docker-ee/oracle/":"/engine/install/","/install/linux/docker-ee/rhel/":"/engine/install/rhel/","/install/linux/docker-ee/sles/":"/engine/install/sles/","/install/linux/docker-ee/suse/":"/engine/install/sles/","/install/linux/docker-ee/ubuntu/":"/engine/install/ubuntu/","/install/linux/linux-postinstall/":"/engine/install/linux-postinstall/","/install/linux/sles/":"/engine/install/sles/","/install/linux/ubuntu/":"/engine/install/ubuntu/","/install/overview/":"/get-started/get-docker/","/install/windows/docker-ee/":"/desktop/setup/install/windows-install/","/install/windows/ee-preview/":"/desktop/setup/install/windows-install/","/installation/":"/get-started/get-docker/","/installation/binaries/":"/engine/install/binaries/","/installation/mac/":"/desktop/setup/install/mac-install/","/installation/rhel/":"/engine/install/rhel/","/installation/sles/":"/engine/install/sles/","/installation/ubuntulinux/":"/engine/install/ubuntu/","/installation/windows/":"/desktop/setup/install/windows-install/","/introduction/understanding-docker/":"/get-started/docker-overview/","/language/":"/guides/","/language/R/build-images/":"/guides/r/containerize/","/language/R/run-containers/":"/guides/r/containerize/","/language/bun/configure-ci-cd/":"/guides/bun/configure-ci-cd/","/language/bun/containerize/":"/guides/bun/containerize/","/language/bun/deploy/":"/guides/bun/deploy/","/language/bun/develop/":"/guides/bun/develop/","/language/cpp/":"/guides/cpp/","/language/cpp/configure-ci-cd/":"/guides/cpp/configure-ci-cd/","/language/cpp/containerize/":"/guides/cpp/containerize/","/language/cpp/deploy/":"/guides/cpp/deploy/","/language/cpp/develop/":"/guides/cpp/develop/","/language/dotnet/":"/guides/dotnet/","/language/dotnet/build-images/":"/guides/dotnet/containerize/","/language/dotnet/configure-ci-cd/":"/guides/dotnet/configure-ci-cd/","/language/dotnet/containerize/":"/guides/dotnet/containerize/","/language/dotnet/deploy/":"/guides/dotnet/deploy/","/language/dotnet/develop/":"/guides/dotnet/develop/","/language/dotnet/run-containers/":"/guides/dotnet/containerize/","/language/dotnet/run-tests/":"/guides/dotnet/run-tests/","/language/golang/":"/guides/golang/","/language/golang/build-images/":"/guides/golang/build-images/","/language/golang/configure-ci-cd/":"/guides/golang/configure-ci-cd/","/language/golang/deploy/":"/guides/golang/deploy/","/language/golang/develop/":"/guides/golang/develop/","/language/golang/run-containers/":"/guides/golang/run-containers/","/language/golang/run-tests/":"/guides/golang/run-tests/","/language/java/":"/guides/java/","/language/java/build-images/":"/guides/java/containerize/","/language/java/configure-ci-cd/":"/guides/java/configure-ci-cd/","/language/java/containerize/":"/guides/java/containerize/","/language/java/deploy/":"/guides/java/deploy/","/language/java/develop/":"/guides/java/develop/","/language/java/run-containers/":"/guides/java/containerize/","/language/java/run-tests/":"/guides/java/run-tests/","/language/nodejs/":"/guides/nodejs/","/language/nodejs/build-images/":"/guides/nodejs/containerize/","/language/nodejs/configure-ci-cd/":"/guides/nodejs/configure-ci-cd/","/language/nodejs/containerize/":"/guides/nodejs/containerize/","/language/nodejs/deploy/":"/guides/nodejs/deploy/","/language/nodejs/develop/":"/guides/nodejs/develop/","/language/nodejs/run-containers/":"/guides/nodejs/containerize/","/language/nodejs/run-tests/":"/guides/nodejs/run-tests/","/language/php/":"/guides/php/","/language/php/configure-ci-cd/":"/guides/php/configure-ci-cd/","/language/php/containerize/":"/guides/php/containerize/","/language/php/deploy/":"/guides/php/deploy/","/language/php/develop/":"/guides/php/develop/","/language/php/run-tests/":"/guides/php/run-tests/","/language/python/":"/guides/python/","/language/python/build-images/":"/guides/python/containerize/","/language/python/configure-ci-cd/":"/guides/python/configure-ci-cd/","/language/python/containerize/":"/guides/python/containerize/","/language/python/deploy/":"/guides/python/deploy/","/language/python/develop/":"/guides/python/develop/","/language/python/run-containers/":"/guides/python/containerize/","/language/r/configure-ci-cd/":"/guides/r/configure-ci-cd/","/language/r/containerize/":"/guides/r/containerize/","/language/r/deploy/":"/guides/r/deploy/","/language/r/develop/":"/guides/r/develop/","/language/ruby/":"/guides/ruby/","/language/ruby/build-images/":"/guides/ruby/containerize/","/language/ruby/configure-ci-cd/":"/guides/ruby/configure-ci-cd/","/language/ruby/containerize/":"/guides/ruby/containerize/","/language/ruby/deploy/":"/guides/ruby/deploy/","/language/ruby/develop/":"/guides/ruby/develop/","/language/ruby/run-containers/":"/guides/ruby/containerize/","/language/rust/":"/guides/rust/","/language/rust/build-images/":"/guides/rust/build-images/","/language/rust/configure-ci-cd/":"/guides/rust/configure-ci-cd/","/language/rust/deploy/":"/guides/rust/deploy/","/language/rust/develop/":"/guides/rust/develop/","/language/rust/run-containers/":"/guides/rust/run-containers/","/languages/r/":"/guides/r/","/learning-paths/":"/guides/","/learning-paths/docker-build-cloud/":"/guides/docker-build-cloud/","/learning-paths/docker-compose/":"/guides/docker-compose/","/learning-paths/docker-scout/":"/guides/docker-scout/","/linux/":"/engine/","/mac/":"/desktop/setup/sign-in/","/mackit/":"/desktop/setup/sign-in/","/mackit/faqs/":"/desktop/troubleshoot-and-support/faqs/general/","/mackit/getting-started/":"/desktop/setup/sign-in/","/mackit/multi-arch/":"/build/building/multi-platform/","/mackit/networking/":"/desktop/networking/","/mackit/release-notes/":"/desktop/release-notes/","/mackit/troubleshoot/":"/desktop/troubleshoot-and-support/troubleshoot/","/network/":"/engine/network/","/network/bridge/":"/engine/network/drivers/bridge/","/network/drivers/bridge/":"/engine/network/drivers/bridge/","/network/drivers/host/":"/engine/network/drivers/host/","/network/drivers/ipvlan/":"/engine/network/drivers/ipvlan/","/network/drivers/macvlan/":"/engine/network/drivers/macvlan/","/network/drivers/none/":"/engine/network/drivers/none/","/network/drivers/overlay/":"/engine/network/drivers/overlay/","/network/host/":"/engine/network/drivers/host/","/network/iptables/":"/engine/network/packet-filtering-firewalls/","/network/ipvlan/":"/engine/network/drivers/ipvlan/","/network/links/":"/engine/network/links/","/network/macvlan/":"/engine/network/drivers/macvlan/","/network/network-tutorial-host/":"/engine/network/tutorials/host/","/network/network-tutorial-macvlan/":"/engine/network/tutorials/macvlan/","/network/network-tutorial-overlay/":"/engine/network/tutorials/overlay/","/network/network-tutorial-standalone/":"/engine/network/tutorials/standalone/","/network/none/":"/engine/network/drivers/none/","/network/overlay-standalone.swarm/":"/engine/swarm/","/network/overlay/":"/engine/network/drivers/overlay/","/network/packet-filtering-firewalls/":"/engine/network/packet-filtering-firewalls/","/network/proxy/":"/engine/cli/proxy/","/notary/advanced_usage/":"/engine/security/trust/","/notary/changelog/":"/engine/security/trust/","/notary/getting_started/":"/engine/security/trust/","/notary/reference/client-config/":"/engine/security/trust/","/notary/reference/common-configs/":"/engine/security/trust/","/notary/reference/server-config/":"/engine/security/trust/","/notary/reference/signer-config/":"/engine/security/trust/","/notary/running_a_service/":"/engine/security/trust/","/notary/service_architecture/":"/engine/security/trust/","/opensource/":"/contribute/","/reference/api/docker_remote_api/":"/reference/api/engine/","/reference/api/docker_remote_api_v1.0/":"/reference/api/engine/","/reference/api/docker_remote_api_v1.1/":"/reference/api/engine/","/reference/api/docker_remote_api_v1.10/":"/reference/api/engine/","/reference/api/docker_remote_api_v1.11/":"/reference/api/engine/","/reference/api/docker_remote_api_v1.12/":"/reference/api/engine/","/reference/api/docker_remote_api_v1.13/":"/reference/api/engine/","/reference/api/docker_remote_api_v1.14/":"/reference/api/engine/","/reference/api/docker_remote_api_v1.15/":"/reference/api/engine/","/reference/api/docker_remote_api_v1.16/":"/reference/api/engine/","/reference/api/docker_remote_api_v1.17/":"/reference/api/engine/","/reference/api/docker_remote_api_v1.18/":"/reference/api/engine/#deprecated-api-versions","/reference/api/docker_remote_api_v1.19/":"/reference/api/engine/#deprecated-api-versions","/reference/api/docker_remote_api_v1.2/":"/reference/api/engine/","/reference/api/docker_remote_api_v1.20/":"/reference/api/engine/#deprecated-api-versions","/reference/api/docker_remote_api_v1.21/":"/reference/api/engine/#deprecated-api-versions","/reference/api/docker_remote_api_v1.22/":"/reference/api/engine/#deprecated-api-versions","/reference/api/docker_remote_api_v1.23/":"/reference/api/engine/#deprecated-api-versions","/reference/api/docker_remote_api_v1.24/":"/reference/api/engine/version/v1.24/","/reference/api/docker_remote_api_v1.3/":"/reference/api/engine/","/reference/api/docker_remote_api_v1.4/":"/reference/api/engine/","/reference/api/docker_remote_api_v1.5/":"/reference/api/engine/","/reference/api/docker_remote_api_v1.6/":"/reference/api/engine/","/reference/api/docker_remote_api_v1.7/":"/reference/api/engine/","/reference/api/docker_remote_api_v1.8/":"/reference/api/engine/","/reference/api/docker_remote_api_v1.9/":"/reference/api/engine/","/reference/api/engine/latest/":"/reference/api/engine/version/v1.47/","/reference/api/remote_api_client_libraries/":"/reference/api/engine/sdk/examples/","/reference/builder/":"/reference/dockerfile","/reference/cli/docker/build/":"/reference/cli/docker/buildx/build/","/reference/cli/docker/builder/build/":"/reference/cli/docker/buildx/build/","/reference/cli/docker/container/ps/":"/reference/cli/docker/container/ls/","/reference/cli/docker/exec/":"/reference/cli/docker/container/exec/","/reference/cli/docker/image/build/":"/reference/cli/docker/buildx/build/","/reference/cli/docker/images/":"/reference/cli/docker/image/ls/","/reference/cli/docker/info/":"/reference/cli/docker/system/info/","/reference/cli/docker/logs/":"/reference/cli/docker/container/logs/","/reference/cli/docker/ps/":"/reference/cli/docker/container/ls/","/reference/cli/docker/pull/":"/reference/cli/docker/image/pull/","/reference/cli/docker/push/":"/reference/cli/docker/image/push/","/reference/cli/docker/rmi/":"/reference/cli/docker/image/rm/","/reference/cli/docker/run/":"/reference/cli/docker/container/run/","/reference/cli/docker/save/":"/reference/cli/docker/image/save/","/reference/logging/fluentd/":"/engine/logging/drivers/fluentd/","/reference/run/":"/engine/containers/run/","/registry/compatibility/":"/registry/","/registry/configuration/":"/registry/","/registry/deploying/":"/registry/","/registry/deprecated/":"/registry/","/registry/garbage-collection/":"/registry/","/registry/help/":"/registry/","/registry/insecure/":"/registry/","/registry/introduction/":"/registry/","/registry/notifications/":"/registry/","/registry/recipes/":"/registry/","/registry/recipes/apache/":"/registry/","/registry/recipes/mirror/":"/docker-hub/mirror/","/registry/recipes/nginx/":"/registry/","/registry/recipes/osx-setup-guide/":"/registry/","/registry/spec/":"/registry/","/registry/spec/api/":"/registry/","/registry/spec/auth/":"/registry/","/registry/spec/auth/jwt/":"/registry/","/registry/spec/auth/oauth/":"/registry/","/registry/spec/auth/scope/":"/registry/","/registry/spec/auth/token/":"/registry/","/registry/spec/deprecated-schema-v1/":"/registry/","/registry/spec/implementations/":"/registry/","/registry/spec/json/":"/registry/","/registry/spec/manifest-v2-1/":"/registry/","/registry/spec/manifest-v2-2/":"/registry/","/registry/spec/menu/":"/registry/","/registry/storage-drivers/":"/registry/","/registry/storage-drivers/azure/":"/registry/","/registry/storage-drivers/filesystem/":"/registry/","/registry/storage-drivers/gcs/":"/registry/","/registry/storage-drivers/inmemory/":"/registry/","/registry/storage-drivers/oss/":"/registry/","/registry/storage-drivers/s3/":"/registry/","/registry/storage-drivers/swift/":"/registry/","/release-notes/":"/tags/release-notes/","/release-notes/docker-ce/":"/engine/release-notes/27/","/release-notes/docker-compose/":"/compose/releases/release-notes/","/release-notes/docker-engine/":"/engine/release-notes/27/","/release-notes/docker-swarm/":"/engine/swarm/","/run-cloud/":"/harmonia/","/samples/apt-cacher-ng/":"/reference/samples/","/samples/aspnet-mssql-compose/":"/reference/samples/dotnet/","/samples/dotnetcore/":"/reference/samples/dotnet/","/samples/postgresql_service/":"/reference/samples/postgres/","/samples/runnning_riak_service/":"/reference/samples/","/scout/advanced-image-analysis/":"/scout/explore/analysis/","/scout/advisory-db-sources/":"/scout/deep-dive/advisory-db-sources/","/scout/artifactory/":"/scout/integrations/registry/artifactory/","/scout/ci/":"/scout/integrations/ci/","/scout/dashboard/":"/scout/explore/dashboard/","/scout/data-handling/":"/scout/deep-dive/data-handling/","/scout/env-vars/":"/scout/how-tos/configure-cli/","/scout/guides/vex/":"/scout/how-tos/create-exceptions-vex/","/scout/image-analysis/":"/scout/explore/analysis/","/scout/image-details-view":"/scout/explore/image-details-view/","/scout/image-prefix/":"/scout/how-tos/artifact-types/","/scout/metrics-exporter/":"/scout/explore/metrics-exporter/","/scout/release-notes/":"/scout/release-notes/platform/","/scout/reports/":"/scout/explore/dashboard/","/scout/sbom/":"/scout/how-tos/view-create-sboms/","/scout/web-app/":"/scout/explore/dashboard/","/security/faqs/single-sign-on/saml-faqs/":"/security/faqs/single-sign-on/faqs/","/security/for-admins/configure-sign-in/":"/security/for-admins/enforce-sign-in/","/security/for-admins/group-mapping/":"/security/for-admins/provisioning/group-mapping/","/security/for-admins/image-access-management/":"/security/for-admins/hardened-desktop/image-access-management/","/security/for-admins/registry-access-management/":"/security/for-admins/hardened-desktop/registry-access-management/","/security/for-admins/scim/":"/security/for-admins/provisioning/scim/","/security/security/":"/engine/security/","/security/trust/trust_sandbox/":"/engine/security/trust/trust_sandbox/","/single-sign-on/":"/security/for-admins/single-sign-on/","/single-sign-on/configure/":"/security/for-admins/single-sign-on/configure/","/single-sign-on/domain-faqs/":"/security/faqs/single-sign-on/domain-faqs/","/single-sign-on/enforcement-faqs/":"/security/faqs/single-sign-on/enforcement-faqs/","/single-sign-on/faqs/":"/security/faqs/single-sign-on/faqs/","/single-sign-on/idp-faqs/":"/security/faqs/single-sign-on/idp-faqs/","/single-sign-on/manage/":"/security/for-admins/single-sign-on/manage/","/single-sign-on/saml-faqs/":"/security/faqs/single-sign-on/faqs/","/single-sign-on/users-faqs/":"/security/faqs/single-sign-on/users-faqs/","/storage/":"/engine/storage/","/storage/bind-mounts/":"/engine/storage/bind-mounts/","/storage/containerd/":"/engine/storage/containerd/","/storage/storagedriver/":"/engine/storage/drivers/","/storage/storagedriver/aufs-driver/":"/engine/storage/drivers/aufs-driver/","/storage/storagedriver/btrfs-driver/":"/engine/storage/drivers/btrfs-driver/","/storage/storagedriver/device-mapper-driver/":"/engine/storage/drivers/device-mapper-driver/","/storage/storagedriver/imagesandcontainers/":"/engine/storage/drivers/","/storage/storagedriver/overlayfs-driver/":"/engine/storage/drivers/overlayfs-driver/","/storage/storagedriver/select-storage-driver/":"/engine/storage/drivers/select-storage-driver/","/storage/storagedriver/selectadriver/":"/engine/storage/drivers/select-storage-driver/","/storage/storagedriver/vfs-driver/":"/engine/storage/drivers/vfs-driver/","/storage/storagedriver/zfs-driver/":"/engine/storage/drivers/zfs-driver/","/storage/tmpfs/":"/engine/storage/tmpfs/","/storage/troubleshooting_volume_errors/":"/engine/daemon/troubleshoot/","/storage/volumes/":"/engine/storage/volumes/","/subscription/add-seats/":"/subscription/core-subscription/add-seats/","/subscription/build-details/":"/subscription/build-cloud/build-details/","/subscription/details/":"/subscription/core-subscription/details/","/subscription/downgrade/":"/subscription/core-subscription/downgrade/","/subscription/remove-seats/":"/subscription/core-subscription/remove-seats/","/subscription/upgrade/":"/subscription/core-subscription/upgrade/","/swarm/":"/engine/swarm/","/swarm/api/":"/engine/swarm/","/swarm/configure-tls/":"/engine/swarm/","/swarm/discovery/":"/engine/swarm/","/swarm/get-swarm/":"/engine/swarm/","/swarm/install-manual/":"/engine/swarm/","/swarm/install-w-machine/":"/engine/swarm/","/swarm/multi-host-networking/":"/engine/swarm/","/swarm/multi-manager-setup/":"/engine/swarm/","/swarm/networking/":"/engine/swarm/","/swarm/overview/":"/engine/swarm/","/swarm/plan-for-production/":"/engine/swarm/","/swarm/provision-with-machine/":"/engine/swarm/","/swarm/reference/":"/engine/swarm/","/swarm/reference/create/":"/engine/swarm/","/swarm/reference/help/":"/engine/swarm/","/swarm/reference/join/":"/engine/swarm/","/swarm/reference/list/":"/engine/swarm/","/swarm/reference/manage/":"/engine/swarm/","/swarm/reference/swarm/":"/engine/swarm/","/swarm/release-notes/":"/engine/swarm/","/swarm/scheduler/":"/engine/swarm/","/swarm/scheduler/filter/":"/engine/swarm/","/swarm/scheduler/rescheduling/":"/engine/swarm/","/swarm/scheduler/strategy/":"/engine/swarm/","/swarm/secure-swarm-tls/":"/engine/swarm/","/swarm/status-code-comparison-to-docker/":"/engine/swarm/","/swarm/swarm-api/":"/engine/swarm/","/swarm/swarm_at_scale/":"/engine/swarm/","/swarm/swarm_at_scale/02-deploy-infra/":"/engine/swarm/","/swarm/swarm_at_scale/03-create-cluster/":"/engine/swarm/","/swarm/swarm_at_scale/04-deploy-app/":"/engine/swarm/","/swarm/swarm_at_scale/about/":"/engine/swarm/","/swarm/swarm_at_scale/deploy-app/":"/engine/swarm/","/swarm/swarm_at_scale/deploy-infra/":"/engine/swarm/","/swarm/swarm_at_scale/troubleshoot/":"/engine/swarm/","/userguide/dockerlinks/":"/engine/network/links/","/userguide/dockervolumes/":"/engine/storage/volumes/","/win/":"/desktop/setup/sign-in/","/windows/":"/desktop/setup/sign-in/","/windows/troubleshoot/":"/desktop/troubleshoot-and-support/troubleshoot/","/winkit/":"/desktop/setup/sign-in/","/winkit/getting-started/":"/desktop/setup/sign-in/","desktop/extensions-sdk/tutorials/initialize/":"/extensions/extensions-sdk/quickstart/"}
#19 0.043 `);
#19 0.043     for (let key in redirects) {
#19 0.043         const redirectTarget = key.replace(/\/$/, "")
#19 0.043         if (redirectTarget !== requestUrl) {
#19 0.043             continue;
#19 0.043         }
#19 0.043         //console.log(`redirect: ${requestUrl} to ${redirects[key]}`);
#19 0.043         const response = {
#19 0.043             status: '301',
#19 0.043             statusDescription: 'Moved Permanently',
#19 0.043             headers: {
#19 0.043                 location: [{
#19 0.043                     key: 'Location',
#19 0.043                     value: redirects[key],
#19 0.043                 }],
#19 0.043             },
#19 0.043         }
#19 0.043         callback(null, response);
#19 0.043         return
#19 0.043     }
#19 0.043 
#19 0.043     const redirectsPrefixes = JSON.parse(`[
#19 0.043   {
#19 0.043     "prefix": "compliance/",
#19 0.043     "strip": false
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "datacenter/",
#19 0.043     "strip": false
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "docker-hub-enterprise/",
#19 0.043     "strip": false
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "docker-trusted-registry/",
#19 0.043     "strip": false
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "ee/",
#19 0.043     "strip": false
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "reference/dtr/",
#19 0.043     "strip": false
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "reference/ucp/",
#19 0.043     "strip": false
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "ucp/",
#19 0.043     "strip": false
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "v1.4/",
#19 0.043     "strip": true
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "v1.5/",
#19 0.043     "strip": true
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "v1.6/",
#19 0.043     "strip": true
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "v1.7/",
#19 0.043     "strip": true
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "v1.8/",
#19 0.043     "strip": true
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "v1.9/",
#19 0.043     "strip": true
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "v1.10/",
#19 0.043     "strip": true
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "v1.11/",
#19 0.043     "strip": true
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "v1.12/",
#19 0.043     "strip": true
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "v1.13/",
#19 0.043     "strip": true
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "v17.03/",
#19 0.043     "strip": true
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "v17.06/enterprise/",
#19 0.043     "strip": false
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "v17.06/",
#19 0.043     "strip": true
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "v17.09/",
#19 0.043     "strip": true
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "v17.12/",
#19 0.043     "strip": true
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "v18.03/ee/",
#19 0.043     "strip": false
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "v18.03/",
#19 0.043     "strip": true
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "v18.09/ee/",
#19 0.043     "strip": false
#19 0.043   },
#19 0.043   {
#19 0.043     "prefix": "v18.09/",
#19 0.043     "strip": true
#19 0.043   }
#19 0.043 ]
#19 0.043 `);
#19 0.043     for (let x in redirectsPrefixes) {
#19 0.043         const rp = redirectsPrefixes[x];
#19 0.043         if (!request.uri.startsWith(`/${rp['prefix']}`)) {
#19 0.043             continue;
#19 0.043         }
#19 0.043         let newlocation = "/";
#19 0.043         if (rp['strip']) {
#19 0.043             let re = new RegExp(`(^/${rp['prefix']})`, 'gi');
#19 0.043             newlocation = request.uri.replace(re,'/');
#19 0.043         }
#19 0.043         //console.log(`redirect: ${request.uri} to ${redirectsPrefixes[key]}`);
#19 0.043         const response = {
#19 0.043             status: '301',
#19 0.043             statusDescription: 'Moved Permanently',
#19 0.043             headers: {
#19 0.043                 location: [{
#19 0.043                     key: 'Location',
#19 0.043                     value: newlocation,
#19 0.043                 }],
#19 0.043             },
#19 0.043         }
#19 0.043         callback(null, response);
#19 0.043         return
#19 0.043     }
#19 0.043 
#19 0.043     callback(null, request);
#19 0.043 };
#19 0.043 
#19 0.043 INFO: Dry run mode enabled. Configuration:
#19 0.043 Region: foo
#19 0.043 Function: foo
#19 0.043 FunctionFile: cloudfront-lambda-redirects.js
#19 0.043 CloudfrontID: 
#19 0.043 RedirectsFile: /site/redirects.json
#19 0.043 RedirectsPrefixesFile: redirects-prefixes.json
#19 DONE 0.1s

Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
@dvdksn dvdksn force-pushed the fix-releaser-etoomanyredirects-take2 branch from f8de4cd to 9ee4e85 Compare November 6, 2024 15:08
@dvdksn dvdksn requested review from crazy-max and thaJeztah November 7, 2024 08:27
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
@crazy-max crazy-max force-pushed the fix-releaser-etoomanyredirects-take2 branch from 50ba277 to db6966c Compare November 7, 2024 08:54
Copy link
Member

@crazy-max crazy-max left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pushed extra commit to check cloudfront config in dry run and looks good: https://github.com/docker/docs/actions/runs/11719640810/job/32643351302#step:5:362

As follow-up we could output the lambda zip function and validate it on PR.

@dvdksn dvdksn merged commit b9833dd into docker:main Nov 7, 2024
14 checks passed
@dvdksn dvdksn deleted the fix-releaser-etoomanyredirects-take2 branch November 7, 2024 09:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/config area/release Relates to CI or deployment hugo Updates related to hugo

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants