Description
Containers, images, and networks all include CreatedAt as a property of the object available from the CLI listing, but volumes do not.
My knowledge of Go is pretty limited, but I'm guessing that the ultimate issue is that the following is missing in https://github.com/docker/cli/blob/master/cli/command/formatter/volume.go:
func (c *volumeContext) CreatedAt() string {
return c.v.CreatedAt
}
(Loosely copied the above from https://github.com/docker/cli/blob/master/cli/command/network/formatter.go#L118-L120)
The same is present in e.g.
|
func (c *imageContext) CreatedAt() string { |
|
return time.Unix(c.i.Created, 0).String() |
|
} |
Reproduce
docker volume create foo
docker volume ls --format "{{ json . }}"
Expected behavior
In the resulting JSON, a CreatedAt field should exist, but does not
docker version
Client:
Cloud integration: v1.0.29
Version: 20.10.20
API version: 1.41
Go version: go1.18.7
Git commit: 9fdeb9c
Built: Tue Oct 18 18:28:44 2022
OS/Arch: windows/amd64
Context: default
Experimental: true
Server: Docker Desktop 4.13.1 (90346)
Engine:
Version: 20.10.20
API version: 1.41 (minimum version 1.12)
Go version: go1.18.7
Git commit: 03df974
Built: Tue Oct 18 18:18:35 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.8
GitCommit: 9cd3357b7fd7218e4aec3eae239db1f68a5a6ec6
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
docker info
Client:
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc., v0.9.1)
compose: Docker Compose (Docker Inc., v2.12.1)
dev: Docker Dev Environments (Docker Inc., v0.0.3)
extension: Manages Docker extensions (Docker Inc., v0.2.13)
sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc., 0.6.0)
scan: Docker Scan (Docker Inc., v0.21.0)
Server:
Containers: 1
Running: 1
Paused: 0
Stopped: 0
Images: 4
Server Version: 20.10.20
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runtime.v1.linux runc io.containerd.runc.v2
Default Runtime: runc
Init Binary: docker-init
containerd version: 9cd3357b7fd7218e4aec3eae239db1f68a5a6ec6
runc version: v1.1.4-0-g5fd4c4d
init version: de40ad0
Security Options:
seccomp
Profile: default
Kernel Version: 5.10.102.1-microsoft-standard-WSL2
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 20
Total Memory: 62.23GiB
Name: docker-desktop
ID: TPCI:VXSJ:PLI6:OJE7:JK7A:WDVA:HLHN:WMUS:J7DC:TDF2:SKQ4:3DJ6
Docker Root Dir: /var/lib/docker
Debug Mode: false
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
No Proxy: hubproxy.docker.internal
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5000
127.0.0.0/8
Live Restore Enabled: false
Additional Info
Discovered while investigating microsoft/vscode-docker#3705.
Description
Containers, images, and networks all include
CreatedAtas a property of the object available from the CLI listing, but volumes do not.My knowledge of Go is pretty limited, but I'm guessing that the ultimate issue is that the following is missing in https://github.com/docker/cli/blob/master/cli/command/formatter/volume.go:
(Loosely copied the above from https://github.com/docker/cli/blob/master/cli/command/network/formatter.go#L118-L120)
The same is present in e.g.
cli/cli/command/formatter/image.go
Lines 245 to 247 in 6fd4541
Reproduce
docker volume create foodocker volume ls --format "{{ json . }}"Expected behavior
In the resulting JSON, a
CreatedAtfield should exist, but does notdocker version
docker info
Additional Info
Discovered while investigating microsoft/vscode-docker#3705.