Compare commits

...

8 Commits

Author SHA1 Message Date
Sebastiaan van Stijn 054604b676
Merge 7187c78554 into 917d2dc837 2024-11-08 03:29:55 -08:00
Sebastiaan van Stijn 917d2dc837
Merge pull request #5601 from vvoland/update-go
update to go1.23.3
2024-11-07 14:42:18 +01:00
Sebastiaan van Stijn f9497b8a46
Merge pull request #5600 from aevesdocker/desktop-link-fix
docs: change link to desktop docs
2024-11-07 13:56:47 +01:00
Paweł Gronowski 382d4c34a9
update to go1.23.3
- https://github.com/golang/go/issues?q=milestone%3AGo1.23.3+label%3ACherryPickApproved
- full diff: https://github.com/golang/go/compare/go1.23.2...go1.23.3

go1.23.3 (released 2024-11-06) includes fixes to the linker, the
runtime, and the net/http, os, and syscall packages. See the
[Go 1.23.3 milestone](https://github.com/golang/go/issues?q=milestone%3AGo1.23.3+label%3ACherryPickApproved)
for details.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2024-11-07 13:24:16 +01:00
aevesdocker 1440f9f8cf docs: change link to desktop docs
Signed-off-by: aevesdocker <allie.sadler@docker.com>
2024-11-07 09:38:19 +00:00
Sebastiaan van Stijn 9c01d924fb
Merge pull request #5595 from dvdksn/docs-redis-example-tags
docs: update example redis tags from 3.0.x to 7.4.x
2024-11-06 15:52:12 +01:00
David Karlsson 172f340112 docs: update example redis tags from 3.0.x to 7.4.x
Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
2024-11-05 11:20:17 +01:00
Sebastiaan van Stijn 7187c78554
image ls: show each tag for an image as a separate entry
A single image can be tagged under multiple names. While they are the
same image under the hood (same digest), we always presented these as
separate images in the list.

This patch applies the same behavior for the tree view; we can consider
having some "compact" presentation in future where we collapse these iamges
(perhaps introducing a "names" column?)

Before this patch:

    $ docker pull --quiet alpine:3.20
    docker.io/library/alpine:3.20
    $ docker pull --quiet alpine:latest
    docker.io/library/alpine:latest

    $ docker image ls --tree

    IMAGE                   ID             DISK USAGE   CONTENT SIZE   USED
    alpine:3.20
    alpine:latest           beefdbd8a1da       13.6MB         4.09MB
    ├─ linux/arm64/v8       9cee2b382fe2       13.6MB         4.09MB
    ├─ linux/amd64          33735bd63cf8           0B             0B
    ├─ linux/arm/v6         50f635c8b04d           0B             0B
    ├─ linux/arm/v7         f2f82d424957           0B             0B
    ├─ linux/386            b3e87f642f5c           0B             0B
    ├─ linux/ppc64le        c7a6800e3dc5           0B             0B
    ├─ linux/riscv64        80cde017a105           0B             0B
    └─ linux/s390x          2b5b26e09ca2           0B             0B

With this patch applied:

    $ docker image ls --tree

    IMAGE                   ID             DISK USAGE   CONTENT SIZE   USED
    alpine:3.20             beefdbd8a1da       13.6MB         4.09MB
    ├─ linux/arm64/v8       9cee2b382fe2       13.6MB         4.09MB
    ├─ linux/amd64          33735bd63cf8           0B             0B
    ├─ linux/arm/v6         50f635c8b04d           0B             0B
    ├─ linux/arm/v7         f2f82d424957           0B             0B
    ├─ linux/386            b3e87f642f5c           0B             0B
    ├─ linux/ppc64le        c7a6800e3dc5           0B             0B
    ├─ linux/riscv64        80cde017a105           0B             0B
    └─ linux/s390x          2b5b26e09ca2           0B             0B

    alpine:latest           beefdbd8a1da       13.6MB         4.09MB
    ├─ linux/arm64/v8       9cee2b382fe2       13.6MB         4.09MB
    ├─ linux/amd64          33735bd63cf8           0B             0B
    ├─ linux/arm/v6         50f635c8b04d           0B             0B
    ├─ linux/arm/v7         f2f82d424957           0B             0B
    ├─ linux/386            b3e87f642f5c           0B             0B
    ├─ linux/ppc64le        c7a6800e3dc5           0B             0B
    ├─ linux/riscv64        80cde017a105           0B             0B
    └─ linux/s390x          2b5b26e09ca2           0B             0B

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-10-19 19:48:45 +02:00
17 changed files with 106 additions and 88 deletions

View File

@ -62,7 +62,7 @@ jobs:
name: Update Go name: Update Go
uses: actions/setup-go@v5 uses: actions/setup-go@v5
with: with:
go-version: 1.23.2 go-version: 1.23.3
- -
name: Initialize CodeQL name: Initialize CodeQL
uses: github/codeql-action/init@v3 uses: github/codeql-action/init@v3

View File

@ -68,7 +68,7 @@ jobs:
name: Set up Go name: Set up Go
uses: actions/setup-go@v5 uses: actions/setup-go@v5
with: with:
go-version: 1.23.2 go-version: 1.23.3
- -
name: Test name: Test
run: | run: |

View File

@ -43,7 +43,7 @@ linters:
run: run:
# prevent golangci-lint from deducting the go version to lint for through go.mod, # prevent golangci-lint from deducting the go version to lint for through go.mod,
# which causes it to fallback to go1.17 semantics. # which causes it to fallback to go1.17 semantics.
go: "1.23.2" go: "1.23.3"
timeout: 5m timeout: 5m
linters-settings: linters-settings:

View File

@ -4,7 +4,7 @@ ARG BASE_VARIANT=alpine
ARG ALPINE_VERSION=3.20 ARG ALPINE_VERSION=3.20
ARG BASE_DEBIAN_DISTRO=bookworm ARG BASE_DEBIAN_DISTRO=bookworm
ARG GO_VERSION=1.23.2 ARG GO_VERSION=1.23.3
ARG XX_VERSION=1.5.0 ARG XX_VERSION=1.5.0
ARG GOVERSIONINFO_VERSION=v1.3.0 ARG GOVERSIONINFO_VERSION=v1.3.0
ARG GOTESTSUM_VERSION=v1.10.0 ARG GOTESTSUM_VERSION=v1.10.0

View File

@ -81,12 +81,30 @@ func runTree(ctx context.Context, dockerCLI command.Cli, opts treeOptions) error
details.ContentSize = units.HumanSizeWithPrecision(float64(totalContent), 3) details.ContentSize = units.HumanSizeWithPrecision(float64(totalContent), 3)
view.images = append(view.images, topImage{ if len(img.RepoTags) == 0 {
Names: img.RepoTags, // Untagged image
Details: details, view.images = append(view.images, topImage{
Children: children, Names: img.RepoTags,
created: img.Created, Details: details,
}) Children: children,
created: img.Created,
})
} else {
// Sort same images alphabetically to keep a consistent sort order.
// We can remove this if we decide to sort the list by name, instead
// of by "created" date.
sort.Strings(img.RepoTags)
// Present images tagged under multiple names as separate images.
for _, n := range img.RepoTags {
view.images = append(view.images, topImage{
Names: []string{n}, // Consider changing Names to be a single name for purpose of this presentation.
Details: details,
Children: children,
created: img.Created,
})
}
}
} }
sort.Slice(view.images, func(i, j int) bool { sort.Slice(view.images, func(i, j int) bool {

View File

@ -1,5 +1,5 @@
variable "GO_VERSION" { variable "GO_VERSION" {
default = "1.23.2" default = "1.23.3"
} }
variable "VERSION" { variable "VERSION" {
default = "" default = ""

View File

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1 # syntax=docker/dockerfile:1
ARG GO_VERSION=1.23.2 ARG GO_VERSION=1.23.3
ARG ALPINE_VERSION=3.20 ARG ALPINE_VERSION=3.20
ARG BUILDX_VERSION=0.17.1 ARG BUILDX_VERSION=0.17.1

View File

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1 # syntax=docker/dockerfile:1
ARG GO_VERSION=1.23.2 ARG GO_VERSION=1.23.3
ARG ALPINE_VERSION=3.20 ARG ALPINE_VERSION=3.20
ARG GOLANGCI_LINT_VERSION=v1.61.0 ARG GOLANGCI_LINT_VERSION=v1.61.0

View File

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1 # syntax=docker/dockerfile:1
ARG GO_VERSION=1.23.2 ARG GO_VERSION=1.23.3
ARG ALPINE_VERSION=3.20 ARG ALPINE_VERSION=3.20
ARG MODOUTDATED_VERSION=v0.8.0 ARG MODOUTDATED_VERSION=v0.8.0

View File

@ -1283,7 +1283,7 @@ connect to services running on the host machine.
It's conventional to use `host.docker.internal` as the hostname referring to It's conventional to use `host.docker.internal` as the hostname referring to
`host-gateway`. Docker Desktop automatically resolves this hostname, see `host-gateway`. Docker Desktop automatically resolves this hostname, see
[Explore networking features](https://docs.docker.com/desktop/networking/#i-want-to-connect-from-a-container-to-a-service-on-the-host). [Explore networking features](https://docs.docker.com/desktop/features/networking/#i-want-to-connect-from-a-container-to-a-service-on-the-host).
The following example shows how the special `host-gateway` value works. The The following example shows how the special `host-gateway` value works. The
example runs an HTTP server that serves a file from host to container over the example runs an HTTP server that serves a file from host to container over the

View File

@ -34,11 +34,11 @@ information about available filter options.
$ docker node ps swarm-manager1 $ docker node ps swarm-manager1
NAME IMAGE NODE DESIRED STATE CURRENT STATE NAME IMAGE NODE DESIRED STATE CURRENT STATE
redis.1.7q92v0nr1hcgts2amcjyqg3pq redis:3.0.6 swarm-manager1 Running Running 5 hours redis.1.7q92v0nr1hcgts2amcjyqg3pq redis:7.4.1 swarm-manager1 Running Running 5 hours
redis.6.b465edgho06e318egmgjbqo4o redis:3.0.6 swarm-manager1 Running Running 29 seconds redis.6.b465edgho06e318egmgjbqo4o redis:7.4.1 swarm-manager1 Running Running 29 seconds
redis.7.bg8c07zzg87di2mufeq51a2qp redis:3.0.6 swarm-manager1 Running Running 5 seconds redis.7.bg8c07zzg87di2mufeq51a2qp redis:7.4.1 swarm-manager1 Running Running 5 seconds
redis.9.dkkual96p4bb3s6b10r7coxxt redis:3.0.6 swarm-manager1 Running Running 5 seconds redis.9.dkkual96p4bb3s6b10r7coxxt redis:7.4.1 swarm-manager1 Running Running 5 seconds
redis.10.0tgctg8h8cech4w0k0gwrmr23 redis:3.0.6 swarm-manager1 Running Running 5 seconds redis.10.0tgctg8h8cech4w0k0gwrmr23 redis:7.4.1 swarm-manager1 Running Running 5 seconds
``` ```
### <a name="filter"></a> Filtering (--filter) ### <a name="filter"></a> Filtering (--filter)
@ -64,11 +64,11 @@ The following filter matches all tasks with a name containing the `redis` string
$ docker node ps -f name=redis swarm-manager1 $ docker node ps -f name=redis swarm-manager1
NAME IMAGE NODE DESIRED STATE CURRENT STATE NAME IMAGE NODE DESIRED STATE CURRENT STATE
redis.1.7q92v0nr1hcgts2amcjyqg3pq redis:3.0.6 swarm-manager1 Running Running 5 hours redis.1.7q92v0nr1hcgts2amcjyqg3pq redis:7.4.1 swarm-manager1 Running Running 5 hours
redis.6.b465edgho06e318egmgjbqo4o redis:3.0.6 swarm-manager1 Running Running 29 seconds redis.6.b465edgho06e318egmgjbqo4o redis:7.4.1 swarm-manager1 Running Running 29 seconds
redis.7.bg8c07zzg87di2mufeq51a2qp redis:3.0.6 swarm-manager1 Running Running 5 seconds redis.7.bg8c07zzg87di2mufeq51a2qp redis:7.4.1 swarm-manager1 Running Running 5 seconds
redis.9.dkkual96p4bb3s6b10r7coxxt redis:3.0.6 swarm-manager1 Running Running 5 seconds redis.9.dkkual96p4bb3s6b10r7coxxt redis:7.4.1 swarm-manager1 Running Running 5 seconds
redis.10.0tgctg8h8cech4w0k0gwrmr23 redis:3.0.6 swarm-manager1 Running Running 5 seconds redis.10.0tgctg8h8cech4w0k0gwrmr23 redis:7.4.1 swarm-manager1 Running Running 5 seconds
``` ```
#### id #### id
@ -79,7 +79,7 @@ The `id` filter matches a task's id.
$ docker node ps -f id=bg8c07zzg87di2mufeq51a2qp swarm-manager1 $ docker node ps -f id=bg8c07zzg87di2mufeq51a2qp swarm-manager1
NAME IMAGE NODE DESIRED STATE CURRENT STATE NAME IMAGE NODE DESIRED STATE CURRENT STATE
redis.7.bg8c07zzg87di2mufeq51a2qp redis:3.0.6 swarm-manager1 Running Running 5 seconds redis.7.bg8c07zzg87di2mufeq51a2qp redis:7.4.1 swarm-manager1 Running Running 5 seconds
``` ```
#### label #### label
@ -93,8 +93,8 @@ The following filter matches tasks with the `usage` label regardless of its valu
$ docker node ps -f "label=usage" $ docker node ps -f "label=usage"
NAME IMAGE NODE DESIRED STATE CURRENT STATE NAME IMAGE NODE DESIRED STATE CURRENT STATE
redis.6.b465edgho06e318egmgjbqo4o redis:3.0.6 swarm-manager1 Running Running 10 minutes redis.6.b465edgho06e318egmgjbqo4o redis:7.4.1 swarm-manager1 Running Running 10 minutes
redis.7.bg8c07zzg87di2mufeq51a2qp redis:3.0.6 swarm-manager1 Running Running 9 minutes redis.7.bg8c07zzg87di2mufeq51a2qp redis:7.4.1 swarm-manager1 Running Running 9 minutes
``` ```

View File

@ -99,19 +99,19 @@ Creates a service as described by the specified parameters.
### Create a service ### Create a service
```console ```console
$ docker service create --name redis redis:3.0.6 $ docker service create --name redis redis:7.4.1
dmu1ept4cxcfe8k8lhtux3ro3 dmu1ept4cxcfe8k8lhtux3ro3
$ docker service create --mode global --name redis2 redis:3.0.6 $ docker service create --mode global --name redis2 redis:7.4.1
a8q9dasaafudfs8q8w32udass a8q9dasaafudfs8q8w32udass
$ docker service ls $ docker service ls
ID NAME MODE REPLICAS IMAGE ID NAME MODE REPLICAS IMAGE
dmu1ept4cxcf redis replicated 1/1 redis:3.0.6 dmu1ept4cxcf redis replicated 1/1 redis:7.4.1
a8q9dasaafud redis2 global 1/1 redis:3.0.6 a8q9dasaafud redis2 global 1/1 redis:7.4.1
``` ```
#### <a name="with-registry-auth"></a> Create a service using an image on a private registry (--with-registry-auth) #### <a name="with-registry-auth"></a> Create a service using an image on a private registry (--with-registry-auth)
@ -140,7 +140,7 @@ Use the `--replicas` flag to set the number of replica tasks for a replicated
service. The following command creates a `redis` service with `5` replica tasks: service. The following command creates a `redis` service with `5` replica tasks:
```console ```console
$ docker service create --name redis --replicas=5 redis:3.0.6 $ docker service create --name redis --replicas=5 redis:7.4.1
4cdgfyky7ozwh3htjfw0d12qv 4cdgfyky7ozwh3htjfw0d12qv
``` ```
@ -157,7 +157,7 @@ number of `RUNNING` tasks is `3`:
$ docker service ls $ docker service ls
ID NAME MODE REPLICAS IMAGE ID NAME MODE REPLICAS IMAGE
4cdgfyky7ozw redis replicated 3/5 redis:3.0.7 4cdgfyky7ozw redis replicated 3/5 redis:7.4.1
``` ```
Once all the tasks are created and `RUNNING`, the actual number of tasks is Once all the tasks are created and `RUNNING`, the actual number of tasks is
@ -167,7 +167,7 @@ equal to the desired number:
$ docker service ls $ docker service ls
ID NAME MODE REPLICAS IMAGE ID NAME MODE REPLICAS IMAGE
4cdgfyky7ozw redis replicated 5/5 redis:3.0.7 4cdgfyky7ozw redis replicated 5/5 redis:7.4.1
``` ```
### <a name="secret"></a> Create a service with secrets (--secret) ### <a name="secret"></a> Create a service with secrets (--secret)
@ -178,7 +178,7 @@ Use the `--secret` flag to give a container access to a
Create a service specifying a secret: Create a service specifying a secret:
```console ```console
$ docker service create --name redis --secret secret.json redis:3.0.6 $ docker service create --name redis --secret secret.json redis:7.4.1
4cdgfyky7ozwh3htjfw0d12qv 4cdgfyky7ozwh3htjfw0d12qv
``` ```
@ -189,7 +189,7 @@ Create a service specifying the secret, target, user/group ID, and mode:
$ docker service create --name redis \ $ docker service create --name redis \
--secret source=ssh-key,target=ssh \ --secret source=ssh-key,target=ssh \
--secret source=app-key,target=app,uid=1000,gid=1001,mode=0400 \ --secret source=app-key,target=app,uid=1000,gid=1001,mode=0400 \
redis:3.0.6 redis:7.4.1
4cdgfyky7ozwh3htjfw0d12qv 4cdgfyky7ozwh3htjfw0d12qv
``` ```
@ -215,14 +215,14 @@ pre-exist in the container. The `mode` is specified as a 4-number sequence such
as `0755`. as `0755`.
```console ```console
$ docker service create --name=redis --config redis-conf redis:3.0.6 $ docker service create --name=redis --config redis-conf redis:7.4.1
``` ```
Create a service with a config and specify the target location and file mode: Create a service with a config and specify the target location and file mode:
```console ```console
$ docker service create --name redis \ $ docker service create --name redis \
--config source=redis-conf,target=/etc/redis/redis.conf,mode=0400 redis:3.0.6 --config source=redis-conf,target=/etc/redis/redis.conf,mode=0400 redis:7.4.1
``` ```
To grant a service access to multiple configs, use multiple `--config` flags. To grant a service access to multiple configs, use multiple `--config` flags.
@ -239,7 +239,7 @@ $ docker service create \
--name redis \ --name redis \
--update-delay 10s \ --update-delay 10s \
--update-parallelism 2 \ --update-parallelism 2 \
redis:3.0.6 redis:7.4.1
``` ```
When you run a [service update](service_update.md), the scheduler updates a When you run a [service update](service_update.md), the scheduler updates a
@ -256,7 +256,7 @@ $ docker service create \
--name redis_2 \ --name redis_2 \
--replicas 5 \ --replicas 5 \
--env MYVAR=foo \ --env MYVAR=foo \
redis:3.0.6 redis:7.4.1
``` ```
To specify multiple environment variables, specify multiple `--env` flags, each To specify multiple environment variables, specify multiple `--env` flags, each
@ -268,7 +268,7 @@ $ docker service create \
--replicas 5 \ --replicas 5 \
--env MYVAR=foo \ --env MYVAR=foo \
--env MYVAR2=bar \ --env MYVAR2=bar \
redis:3.0.6 redis:7.4.1
``` ```
### <a name="hostname"></a> Create a service with specific hostname (--hostname) ### <a name="hostname"></a> Create a service with specific hostname (--hostname)
@ -277,7 +277,7 @@ This option sets the docker service containers hostname to a specific string.
For example: For example:
```console ```console
$ docker service create --name redis --hostname myredis redis:3.0.6 $ docker service create --name redis --hostname myredis redis:7.4.1
``` ```
### <a name="label"></a> Set metadata on a service (-l, --label) ### <a name="label"></a> Set metadata on a service (-l, --label)
@ -290,7 +290,7 @@ $ docker service create \
--name redis_2 \ --name redis_2 \
--label com.example.foo="bar" \ --label com.example.foo="bar" \
--label bar=baz \ --label bar=baz \
redis:3.0.6 redis:7.4.1
``` ```
For more information about labels, refer to [apply custom For more information about labels, refer to [apply custom
@ -679,7 +679,7 @@ The following command creates a global service:
$ docker service create \ $ docker service create \
--name redis_2 \ --name redis_2 \
--mode global \ --mode global \
redis:3.0.6 redis:7.4.1
``` ```
### <a name="constraint"></a> Specify service constraints (--constraint) ### <a name="constraint"></a> Specify service constraints (--constraint)
@ -712,7 +712,7 @@ $ docker service create \
--name redis_2 \ --name redis_2 \
--constraint node.platform.os==linux \ --constraint node.platform.os==linux \
--constraint node.labels.type==queue \ --constraint node.labels.type==queue \
redis:3.0.6 redis:7.4.1
``` ```
If the service constraints exclude all nodes in the cluster, a message is printed If the service constraints exclude all nodes in the cluster, a message is printed
@ -760,7 +760,7 @@ $ docker service create \
--replicas 9 \ --replicas 9 \
--name redis_2 \ --name redis_2 \
--placement-pref spread=node.labels.datacenter \ --placement-pref spread=node.labels.datacenter \
redis:3.0.6 redis:7.4.1
``` ```
This uses `--placement-pref` with a `spread` strategy (currently the only This uses `--placement-pref` with a `spread` strategy (currently the only
@ -812,7 +812,7 @@ $ docker service create \
--name redis_2 \ --name redis_2 \
--placement-pref 'spread=node.labels.datacenter' \ --placement-pref 'spread=node.labels.datacenter' \
--placement-pref 'spread=node.labels.rack' \ --placement-pref 'spread=node.labels.rack' \
redis:3.0.6 redis:7.4.1
``` ```
When updating a service with `docker service update`, `--placement-pref-add` When updating a service with `docker service update`, `--placement-pref-add`

View File

@ -40,7 +40,7 @@ For example, given the following service;
```console ```console
$ docker service ls $ docker service ls
ID NAME MODE REPLICAS IMAGE ID NAME MODE REPLICAS IMAGE
dmu1ept4cxcf redis replicated 3/3 redis:3.0.6 dmu1ept4cxcf redis replicated 3/3 redis:7.4.1
``` ```
Both `docker service inspect redis`, and `docker service inspect dmu1ept4cxcf` Both `docker service inspect redis`, and `docker service inspect dmu1ept4cxcf`
@ -65,7 +65,7 @@ The output is in JSON format, for example:
"Name": "redis", "Name": "redis",
"TaskTemplate": { "TaskTemplate": {
"ContainerSpec": { "ContainerSpec": {
"Image": "redis:3.0.6" "Image": "redis:7.4.1"
}, },
"Resources": { "Resources": {
"Limits": {}, "Limits": {},

View File

@ -37,7 +37,7 @@ $ docker service ls
ID NAME MODE REPLICAS IMAGE ID NAME MODE REPLICAS IMAGE
c8wgl7q4ndfd frontend replicated 5/5 nginx:alpine c8wgl7q4ndfd frontend replicated 5/5 nginx:alpine
dmu1ept4cxcf redis replicated 3/3 redis:3.0.6 dmu1ept4cxcf redis replicated 3/3 redis:7.4.1
iwe3278osahj mongo global 7/7 mongo:3.3 iwe3278osahj mongo global 7/7 mongo:3.3
hh08h9uu8uwr job replicated-job 1/1 (3/5 completed) nginx:latest hh08h9uu8uwr job replicated-job 1/1 (3/5 completed) nginx:latest
``` ```
@ -68,7 +68,7 @@ The following filter matches services with an ID starting with `0bcjw`:
```console ```console
$ docker service ls -f "id=0bcjw" $ docker service ls -f "id=0bcjw"
ID NAME MODE REPLICAS IMAGE ID NAME MODE REPLICAS IMAGE
0bcjwfh8ychr redis replicated 1/1 redis:3.0.6 0bcjwfh8ychr redis replicated 1/1 redis:7.4.1
``` ```
#### label #### label
@ -84,7 +84,7 @@ $ docker service ls --filter label=project
ID NAME MODE REPLICAS IMAGE ID NAME MODE REPLICAS IMAGE
01sl1rp6nj5u frontend2 replicated 1/1 nginx:alpine 01sl1rp6nj5u frontend2 replicated 1/1 nginx:alpine
36xvvwwauej0 frontend replicated 5/5 nginx:alpine 36xvvwwauej0 frontend replicated 5/5 nginx:alpine
74nzcxxjv6fq backend replicated 3/3 redis:3.0.6 74nzcxxjv6fq backend replicated 3/3 redis:7.4.1
``` ```
The following filter matches only services with the `project` label with the The following filter matches only services with the `project` label with the
@ -94,7 +94,7 @@ The following filter matches only services with the `project` label with the
$ docker service ls --filter label=project=project-a $ docker service ls --filter label=project=project-a
ID NAME MODE REPLICAS IMAGE ID NAME MODE REPLICAS IMAGE
36xvvwwauej0 frontend replicated 5/5 nginx:alpine 36xvvwwauej0 frontend replicated 5/5 nginx:alpine
74nzcxxjv6fq backend replicated 3/3 redis:3.0.6 74nzcxxjv6fq backend replicated 3/3 redis:7.4.1
``` ```
#### mode #### mode
@ -118,7 +118,7 @@ The following filter matches services with a name starting with `redis`.
```console ```console
$ docker service ls --filter name=redis $ docker service ls --filter name=redis
ID NAME MODE REPLICAS IMAGE ID NAME MODE REPLICAS IMAGE
0bcjwfh8ychr redis replicated 1/1 redis:3.0.6 0bcjwfh8ychr redis replicated 1/1 redis:7.4.1
``` ```
### <a name="format"></a> Format the output (--format) ### <a name="format"></a> Format the output (--format)

View File

@ -36,35 +36,35 @@ The following command shows all the tasks that are part of the `redis` service:
$ docker service ps redis $ docker service ps redis
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
0qihejybwf1x redis.1 redis:3.0.5 manager1 Running Running 8 seconds 0qihejybwf1x redis.1 redis:7.4.0 manager1 Running Running 8 seconds
bk658fpbex0d redis.2 redis:3.0.5 worker2 Running Running 9 seconds bk658fpbex0d redis.2 redis:7.4.0 worker2 Running Running 9 seconds
5ls5s5fldaqg redis.3 redis:3.0.5 worker1 Running Running 9 seconds 5ls5s5fldaqg redis.3 redis:7.4.0 worker1 Running Running 9 seconds
8ryt076polmc redis.4 redis:3.0.5 worker1 Running Running 9 seconds 8ryt076polmc redis.4 redis:7.4.0 worker1 Running Running 9 seconds
1x0v8yomsncd redis.5 redis:3.0.5 manager1 Running Running 8 seconds 1x0v8yomsncd redis.5 redis:7.4.0 manager1 Running Running 8 seconds
71v7je3el7rr redis.6 redis:3.0.5 worker2 Running Running 9 seconds 71v7je3el7rr redis.6 redis:7.4.0 worker2 Running Running 9 seconds
4l3zm9b7tfr7 redis.7 redis:3.0.5 worker2 Running Running 9 seconds 4l3zm9b7tfr7 redis.7 redis:7.4.0 worker2 Running Running 9 seconds
9tfpyixiy2i7 redis.8 redis:3.0.5 worker1 Running Running 9 seconds 9tfpyixiy2i7 redis.8 redis:7.4.0 worker1 Running Running 9 seconds
3w1wu13yupln redis.9 redis:3.0.5 manager1 Running Running 8 seconds 3w1wu13yupln redis.9 redis:7.4.0 manager1 Running Running 8 seconds
8eaxrb2fqpbn redis.10 redis:3.0.5 manager1 Running Running 8 seconds 8eaxrb2fqpbn redis.10 redis:7.4.0 manager1 Running Running 8 seconds
``` ```
In addition to running tasks, the output also shows the task history. For In addition to running tasks, the output also shows the task history. For
example, after updating the service to use the `redis:3.0.6` image, the output example, after updating the service to use the `redis:7.4.1` image, the output
may look like this: may look like this:
```console ```console
$ docker service ps redis $ docker service ps redis
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
50qe8lfnxaxk redis.1 redis:3.0.6 manager1 Running Running 6 seconds ago 50qe8lfnxaxk redis.1 redis:7.4.1 manager1 Running Running 6 seconds ago
ky2re9oz86r9 \_ redis.1 redis:3.0.5 manager1 Shutdown Shutdown 8 seconds ago ky2re9oz86r9 \_ redis.1 redis:7.4.0 manager1 Shutdown Shutdown 8 seconds ago
3s46te2nzl4i redis.2 redis:3.0.6 worker2 Running Running less than a second ago 3s46te2nzl4i redis.2 redis:7.4.1 worker2 Running Running less than a second ago
nvjljf7rmor4 \_ redis.2 redis:3.0.6 worker2 Shutdown Rejected 23 seconds ago "No such image: redis@sha256:6…" nvjljf7rmor4 \_ redis.2 redis:7.4.1 worker2 Shutdown Rejected 23 seconds ago "No such image: redis@sha256:6…"
vtiuz2fpc0yb \_ redis.2 redis:3.0.5 worker2 Shutdown Shutdown 1 second ago vtiuz2fpc0yb \_ redis.2 redis:7.4.0 worker2 Shutdown Shutdown 1 second ago
jnarweeha8x4 redis.3 redis:3.0.6 worker1 Running Running 3 seconds ago jnarweeha8x4 redis.3 redis:7.4.1 worker1 Running Running 3 seconds ago
vs448yca2nz4 \_ redis.3 redis:3.0.5 worker1 Shutdown Shutdown 4 seconds ago vs448yca2nz4 \_ redis.3 redis:7.4.0 worker1 Shutdown Shutdown 4 seconds ago
jf1i992619ir redis.4 redis:3.0.6 worker1 Running Running 10 seconds ago jf1i992619ir redis.4 redis:7.4.1 worker1 Running Running 10 seconds ago
blkttv7zs8ee \_ redis.4 redis:3.0.5 worker1 Shutdown Shutdown 11 seconds ago blkttv7zs8ee \_ redis.4 redis:7.4.0 worker1 Shutdown Shutdown 11 seconds ago
``` ```
The number of items in the task history is determined by the The number of items in the task history is determined by the
@ -82,10 +82,10 @@ example:
$ docker service ps --no-trunc redis $ docker service ps --no-trunc redis
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
50qe8lfnxaxksi9w2a704wkp7 redis.1 redis:3.0.6@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842 manager1 Running Running 5 minutes ago 50qe8lfnxaxksi9w2a704wkp7 redis.1 redis:7.4.1@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842 manager1 Running Running 5 minutes ago
ky2re9oz86r9556i2szb8a8af \_ redis.1 redis:3.0.5@sha256:f8829e00d95672c48c60f468329d6693c4bdd28d1f057e755f8ba8b40008682e worker2 Shutdown Shutdown 5 minutes ago ky2re9oz86r9556i2szb8a8af \_ redis.1 redis:7.4.0@sha256:f8829e00d95672c48c60f468329d6693c4bdd28d1f057e755f8ba8b40008682e worker2 Shutdown Shutdown 5 minutes ago
bk658fpbex0d57cqcwoe3jthu redis.2 redis:3.0.6@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842 worker2 Running Running 5 seconds bk658fpbex0d57cqcwoe3jthu redis.2 redis:7.4.1@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842 worker2 Running Running 5 seconds
nvjljf7rmor4htv7l8rwcx7i7 \_ redis.2 redis:3.0.6@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842 worker2 Shutdown Rejected 5 minutes ago "No such image: redis@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842" nvjljf7rmor4htv7l8rwcx7i7 \_ redis.2 redis:7.4.1@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842 worker2 Shutdown Rejected 5 minutes ago "No such image: redis@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842"
``` ```
### <a name="filter"></a> Filtering (--filter) ### <a name="filter"></a> Filtering (--filter)
@ -111,8 +111,8 @@ The `id` filter matches on all or a prefix of a task's ID.
$ docker service ps -f "id=8" redis $ docker service ps -f "id=8" redis
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
8ryt076polmc redis.4 redis:3.0.6 worker1 Running Running 9 seconds 8ryt076polmc redis.4 redis:7.4.1 worker1 Running Running 9 seconds
8eaxrb2fqpbn redis.10 redis:3.0.6 manager1 Running Running 8 seconds 8eaxrb2fqpbn redis.10 redis:7.4.1 manager1 Running Running 8 seconds
``` ```
#### name #### name
@ -123,7 +123,7 @@ The `name` filter matches on task names.
$ docker service ps -f "name=redis.1" redis $ docker service ps -f "name=redis.1" redis
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
qihejybwf1x5 redis.1 redis:3.0.6 manager1 Running Running 8 seconds qihejybwf1x5 redis.1 redis:7.4.1 manager1 Running Running 8 seconds
``` ```
@ -135,10 +135,10 @@ The `node` filter matches on a node name or a node ID.
$ docker service ps -f "node=manager1" redis $ docker service ps -f "node=manager1" redis
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
0qihejybwf1x redis.1 redis:3.0.6 manager1 Running Running 8 seconds 0qihejybwf1x redis.1 redis:7.4.1 manager1 Running Running 8 seconds
1x0v8yomsncd redis.5 redis:3.0.6 manager1 Running Running 8 seconds 1x0v8yomsncd redis.5 redis:7.4.1 manager1 Running Running 8 seconds
3w1wu13yupln redis.9 redis:3.0.6 manager1 Running Running 8 seconds 3w1wu13yupln redis.9 redis:7.4.1 manager1 Running Running 8 seconds
8eaxrb2fqpbn redis.10 redis:3.0.6 manager1 Running Running 8 seconds 8eaxrb2fqpbn redis.10 redis:7.4.1 manager1 Running Running 8 seconds
``` ```
#### desired-state #### desired-state

View File

@ -84,7 +84,7 @@ $ docker service ls
ID NAME MODE REPLICAS IMAGE ID NAME MODE REPLICAS IMAGE
3pr5mlvu3fh9 frontend replicated 5/5 nginx:alpine 3pr5mlvu3fh9 frontend replicated 5/5 nginx:alpine
74nzcxxjv6fq backend replicated 3/3 redis:3.0.6 74nzcxxjv6fq backend replicated 3/3 redis:7.4.1
``` ```
## Related commands ## Related commands

View File

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1 # syntax=docker/dockerfile:1
ARG GO_VERSION=1.23.2 ARG GO_VERSION=1.23.3
FROM golang:${GO_VERSION}-alpine AS generated FROM golang:${GO_VERSION}-alpine AS generated
ENV GOTOOLCHAIN=local ENV GOTOOLCHAIN=local