diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 9feba24c8869..127364fdf364 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -192,7 +192,7 @@ For more details, see the [MAINTAINERS](MAINTAINERS) page.
The sign-off is a simple line at the end of the explanation for the patch. Your
signature certifies that you wrote the patch or otherwise have the right to pass
it on as an open-source patch. The rules are pretty simple: if you can certify
-the below (from [developercertificate.org](http://developercertificate.org/)):
+the below (from [developercertificate.org](https://developercertificate.org):
```
Developer Certificate of Origin
@@ -336,9 +336,8 @@ The rules:
1. All code should be formatted with `gofumpt` (preferred) or `gofmt -s`.
2. All code should pass the default levels of
[`golint`](https://github.com/golang/lint).
-3. All code should follow the guidelines covered in [Effective
- Go](http://golang.org/doc/effective_go.html) and [Go Code Review
- Comments](https://github.com/golang/go/wiki/CodeReviewComments).
+3. All code should follow the guidelines covered in [Effective Go](https://go.dev/doc/effective_go)
+ and [Go Code Review Comments](https://github.com/golang/go/wiki/CodeReviewComments).
4. Comment the code. Tell us the why, the history and the context.
5. Document _all_ declarations and methods, even private ones. Declare
expectations, caveats and anything else that may be important. If a type
@@ -360,6 +359,6 @@ The rules:
guidelines. Since you've read all the rules, you now know that.
If you are having trouble getting into the mood of idiomatic Go, we recommend
-reading through [Effective Go](https://golang.org/doc/effective_go.html). The
-[Go Blog](https://blog.golang.org) is also a great resource. Drinking the
+reading through [Effective Go](https://go.dev/doc/effective_go). The
+[Go Blog](https://go.dev/blog/) is also a great resource. Drinking the
kool-aid is a lot easier than going thirsty.
diff --git a/cli/command/manifest/util.go b/cli/command/manifest/util.go
index 16aba15c7488..f25ff0ad99a3 100644
--- a/cli/command/manifest/util.go
+++ b/cli/command/manifest/util.go
@@ -16,7 +16,7 @@ type osArch struct {
// Remove any unsupported os/arch combo
// list of valid os/arch values (see "Optional Environment Variables" section
-// of https://golang.org/doc/install/source
+// of https://go.dev/doc/install/source
// Added linux/s390x as we know System z support already exists
// Keep in sync with _docker_manifest_annotate in contrib/completion/bash/docker
var validOSArches = map[osArch]bool{
diff --git a/docs/reference/commandline/config_inspect.md b/docs/reference/commandline/config_inspect.md
index e112a3c95d6d..7f5a9f6ba5c4 100644
--- a/docs/reference/commandline/config_inspect.md
+++ b/docs/reference/commandline/config_inspect.md
@@ -20,7 +20,7 @@ Inspects the specified config.
By default, this renders all results in a JSON array. If a format is specified,
the given template will be executed for each result.
-Go's [text/template](https://golang.org/pkg/text/template/) package
+Go's [text/template](https://pkg.go.dev/text/template) package
describes all the details of the format.
For detailed information about using configs, refer to [store configuration data using Docker Configs](https://docs.docker.com/engine/swarm/configs/).
diff --git a/docs/reference/commandline/events.md b/docs/reference/commandline/events.md
index 906fd5b71a7c..44baef0449bb 100644
--- a/docs/reference/commandline/events.md
+++ b/docs/reference/commandline/events.md
@@ -194,7 +194,7 @@ The currently supported filters are:
If a format (`--format`) is specified, the given template will be executed
instead of the default
-format. Go's [text/template](https://golang.org/pkg/text/template/) package
+format. Go's [text/template](https://pkg.go.dev/text/template) package
describes all the details of the format.
If a format is set to `{{json .}}`, the events are streamed as valid JSON
diff --git a/docs/reference/commandline/info.md b/docs/reference/commandline/info.md
index 56be0fd2ef93..4b62581ac54a 100644
--- a/docs/reference/commandline/info.md
+++ b/docs/reference/commandline/info.md
@@ -24,7 +24,7 @@ The number of images shown is the number of unique images. The same image tagged
under different names is counted only once.
If a format is specified, the given template will be executed instead of the
-default format. Go's [text/template](https://golang.org/pkg/text/template/) package
+default format. Go's [text/template](https://pkg.go.dev/text/template) package
describes all the details of the format.
Depending on the storage driver in use, additional information can be shown, such
diff --git a/docs/reference/commandline/inspect.md b/docs/reference/commandline/inspect.md
index 9174dc077dee..eb2196860f21 100644
--- a/docs/reference/commandline/inspect.md
+++ b/docs/reference/commandline/inspect.md
@@ -24,7 +24,7 @@ By default, `docker inspect` will render results in a JSON array.
If a format is specified, the given template will be executed for each result.
-Go's [text/template](https://golang.org/pkg/text/template/) package describes
+Go's [text/template](https://pkg.go.dev/text/template) package describes
all the details of the format.
### Specify target type (--type)
diff --git a/docs/reference/commandline/logs.md b/docs/reference/commandline/logs.md
index 2c98415ae24c..5fddcbdf0c69 100644
--- a/docs/reference/commandline/logs.md
+++ b/docs/reference/commandline/logs.md
@@ -34,7 +34,7 @@ the container's `STDOUT` and `STDERR`.
Passing a negative number or a non-integer to `--tail` is invalid and the
value is set to `all` in that case.
-The `docker logs --timestamps` command will add an [RFC3339Nano timestamp](https://golang.org/pkg/time/#pkg-constants)
+The `docker logs --timestamps` command will add an [RFC3339Nano timestamp](https://pkg.go.dev/time#RFC3339Nano)
, for example `2014-09-16T06:17:46.000000000Z`, to each
log entry. To ensure that the timestamps are aligned the
nano-second part of the timestamp will be padded with zero when necessary.
diff --git a/docs/reference/commandline/network_inspect.md b/docs/reference/commandline/network_inspect.md
index d0129d0fe128..5025d964d967 100644
--- a/docs/reference/commandline/network_inspect.md
+++ b/docs/reference/commandline/network_inspect.md
@@ -41,7 +41,7 @@ node are shown.
You can specify an alternate format to execute a given
template for each result. Go's
-[text/template](https://golang.org/pkg/text/template/) package describes all the
+[text/template](https://pkg.go.dev/text/template) package describes all the
details of the format.
```console
diff --git a/docs/reference/commandline/node_inspect.md b/docs/reference/commandline/node_inspect.md
index 056a1c8c365e..cc99d4f74084 100644
--- a/docs/reference/commandline/node_inspect.md
+++ b/docs/reference/commandline/node_inspect.md
@@ -18,7 +18,7 @@ Display detailed information on one or more nodes
Returns information about a node. By default, this command renders all results
in a JSON array. You can specify an alternate format to execute a
given template for each result. Go's
-[text/template](https://golang.org/pkg/text/template/) package describes all the
+[text/template](https://pkg.go.dev/text/template) package describes all the
details of the format.
> **Note**
diff --git a/docs/reference/commandline/secret_inspect.md b/docs/reference/commandline/secret_inspect.md
index 1540d5bb35d9..76fd1e713f68 100644
--- a/docs/reference/commandline/secret_inspect.md
+++ b/docs/reference/commandline/secret_inspect.md
@@ -20,7 +20,7 @@ Inspects the specified secret.
By default, this renders all results in a JSON array. If a format is specified,
the given template will be executed for each result.
-Go's [text/template](https://golang.org/pkg/text/template/) package
+Go's [text/template](https://pkg.go.dev/text/template) package
describes all the details of the format.
For detailed information about using secrets, refer to [manage sensitive data with Docker secrets](https://docs.docker.com/engine/swarm/secrets/).
diff --git a/docs/reference/commandline/service_create.md b/docs/reference/commandline/service_create.md
index 3249fc809a57..dcd0a851b5f5 100644
--- a/docs/reference/commandline/service_create.md
+++ b/docs/reference/commandline/service_create.md
@@ -1014,7 +1014,7 @@ registry value must be located in:
### Create services using templates
You can use templates for some flags of `service create`, using the syntax
-provided by the Go's [text/template](https://golang.org/pkg/text/template/) package.
+provided by the Go's [text/template](https://pkg.go.dev/text/template) package.
The supported flags are the following :
diff --git a/docs/reference/commandline/service_inspect.md b/docs/reference/commandline/service_inspect.md
index 583b02fe55b3..9bfd6f0afdab 100644
--- a/docs/reference/commandline/service_inspect.md
+++ b/docs/reference/commandline/service_inspect.md
@@ -20,7 +20,7 @@ Inspects the specified service.
By default, this renders all results in a JSON array. If a format is specified,
the given template will be executed for each result.
-Go's [text/template](https://golang.org/pkg/text/template/) package
+Go's [text/template](https://pkg.go.dev/text/template) package
describes all the details of the format.
> **Note**
diff --git a/docs/reference/commandline/service_logs.md b/docs/reference/commandline/service_logs.md
index b5808f591d03..8ebab359f9c6 100644
--- a/docs/reference/commandline/service_logs.md
+++ b/docs/reference/commandline/service_logs.md
@@ -50,7 +50,7 @@ the service's `STDOUT` and `STDERR`.
Passing a negative number or a non-integer to `--tail` is invalid and the
value is set to `all` in that case.
-The `docker service logs --timestamps` command will add an [RFC3339Nano timestamp](https://golang.org/pkg/time/#pkg-constants)
+The `docker service logs --timestamps` command will add an [RFC3339Nano timestamp](https://pkg.go.dev/time#RFC3339Nano)
, for example `2014-09-16T06:17:46.000000000Z`, to each
log entry. To ensure that the timestamps are aligned the
nano-second part of the timestamp will be padded with zero when necessary.
diff --git a/docs/reference/commandline/system_events.md b/docs/reference/commandline/system_events.md
index 35788bcc3993..e580f4b9c810 100644
--- a/docs/reference/commandline/system_events.md
+++ b/docs/reference/commandline/system_events.md
@@ -308,7 +308,7 @@ $ docker system events --filter 'type=plugin'
### Format the output (--format)
If a format (`--format`) is specified, the given template will be executed
-instead of the default format. Go's [text/template](https://golang.org/pkg/text/template/)
+instead of the default format. Go's [text/template](https://pkg.go.dev/text/template)
package describes all the details of the format.
```console
diff --git a/docs/reference/commandline/volume_inspect.md b/docs/reference/commandline/volume_inspect.md
index cfe36e85712e..cd4a75a4253a 100644
--- a/docs/reference/commandline/volume_inspect.md
+++ b/docs/reference/commandline/volume_inspect.md
@@ -17,7 +17,7 @@ Display detailed information on one or more volumes
Returns information about a volume. By default, this command renders all results
in a JSON array. You can specify an alternate format to execute a
given template for each result. Go's
-[text/template](https://golang.org/pkg/text/template/) package describes all the
+[text/template](https://pkg.go.dev/text/template) package describes all the
details of the format.
## Examples
diff --git a/man/src/container/exec.md b/man/src/container/exec.md
index c597817eeaeb..82d1428d45f7 100644
--- a/man/src/container/exec.md
+++ b/man/src/container/exec.md
@@ -9,7 +9,7 @@ container is unpaused, and then run
# CAPABILITIES
`privileged` gives the process extended
-[Linux capabilities](http://man7.org/linux/man-pages/man7/capabilities.7.html)
+[Linux capabilities](https://man7.org/linux/man-pages/man7/capabilities.7.html)
when running in a container.
Without this flag, the process run by `docker exec` in a running container has
diff --git a/man/src/inspect.md b/man/src/inspect.md
index b2d048d0fc55..d92dde73aa72 100644
--- a/man/src/inspect.md
+++ b/man/src/inspect.md
@@ -193,7 +193,7 @@ output:
80/tcp -> 80
You can get more information about how to write a Go template from:
-https://golang.org/pkg/text/template/.
+https://pkg.go.dev/text/template.
## Getting size information on a container
diff --git a/man/src/network/inspect.md b/man/src/network/inspect.md
index f00489d506b1..e07c8ab1fc9f 100644
--- a/man/src/network/inspect.md
+++ b/man/src/network/inspect.md
@@ -11,7 +11,7 @@ bda12f8922785d1f160be70736f26c1e331ab8aaf8ed8d56728508f2e2fd4727
The `network inspect` command shows the containers, by id, in its
results. You can specify an alternate format to execute a given
template for each result. Go's
-[text/template](http://golang.org/pkg/text/template/) package
+[text/template](https://pkg.go.dev/text/template) package
describes all the details of the format.
```console
diff --git a/man/src/system/events.md b/man/src/system/events.md
index 8177293f532a..d18e175c6f99 100644
--- a/man/src/system/events.md
+++ b/man/src/system/events.md
@@ -85,7 +85,7 @@ details of the format.
Type=container Status=destroy ID=2ee349dac409e97974ce8d01b70d250b85e0ba8189299c126a87812311951e26
If a format is set to `{{json .}}`, the events are streamed as valid JSON
-Lines. For information about JSON Lines, please refer to http://jsonlines.org/ .
+Lines. For information about JSON Lines, please refer to https://jsonlines.org .
# docker events --format '{{json .}}'
{"status":"create","id":"196016a57679bf42424484918746a9474cd905dd993c4d0f4..
diff --git a/man/src/volume/inspect.md b/man/src/volume/inspect.md
index 0885caab634d..cb58406b075a 100644
--- a/man/src/volume/inspect.md
+++ b/man/src/volume/inspect.md
@@ -1,4 +1,4 @@
Returns information about one or more volumes. By default, this command renders
all results in a JSON array. You can specify an alternate format to execute a
-given template is executed for each result. Go's https://golang.org/pkg/text/template/
+given template is executed for each result. Go's https://pkg.go.dev/text/template
package describes all the details of the format.