56947 Commits

Author SHA1 Message Date
carsontham
cfe61f52d6 migrated TestContainerAPIStop
This test was already migrated as integration/container.TestStopContainerWithTimeout

Signed-off-by: carsontham <carsontham@outlook.com>
2026-06-16 17:45:17 +02:00
Sebastiaan van Stijn
c891cf6dcb Merge pull request #52858 from vvoland/fix-flaky-windows
integration-cli: Migrate TestContainersAPICreateMountsCreate
2026-06-16 17:32:29 +02:00
Abubacarr Ceesay
269c1eda0f migrate TestAPIImagesSearchJSONContentType to integration
Migrate test api images search json content type from integration cli to integration tests

Signed-off-by: Abubacarr Ceesay <abubacarr671@gmail.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-06-16 17:14:22 +02:00
Sebastiaan van Stijn
fee7908162 Merge pull request #52882 from vvoland/restrartcontainer-good
integration-cli/container: Rewrite on-failure restart tests
2026-06-16 16:41:34 +02:00
Rodrigo Campos
f3fb0dba8a Update runc binary to v1.4.3
Signed-off-by: Rodrigo Campos <rodrigoca@microsoft.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-06-16 16:31:19 +02:00
Sebastiaan van Stijn
3c8382add8 Merge pull request #52883 from thaJeztah/bump_runc
Dockerfile: update runc binary to v1.3.6
2026-06-16 15:13:29 +02:00
Sebastiaan van Stijn
bad07d3b7c Merge pull request #52885 from vvoland/deflake-TestStopContainerWithTimeoutCancel
integration/container: Wait for trap setup before signaling
2026-06-16 12:08:18 +02:00
Sebastiaan van Stijn
7b45394d42 daemon/libnetwork/support: refresh Dockerfile and script
- update the Dockerfile to switch to the cli-variant (as it doesn't
  require a docker daemon), and update to the latest v29 image
- update the script to not use the deprecated libnetwork repository

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-06-16 11:38:15 +02:00
Pham Duc Nam
1f93cc41c6 daemon: replace minInt helper with builtin min
The minInt() helper function was introduced before Go had a built-in
min() function. Since the module requires Go 1.25 (and the built-in
min/max were introduced in Go 1.21), minInt() is now redundant.

Replace the one call site with the built-in min() and remove the
helper function.

Signed-off-by: Pham Duc Nam <nam8dmd@gmail.com>
2026-06-16 07:27:51 +07:00
Paweł Gronowski
cfe0e72854 integration-cli: Migrate TestContainersAPICreateMountsCreate
Move the useful Mounts API create coverage out of integration-cli and
into the container integration tests that own the behavior.

Add volume mount inspect assertions to TestContainerVolumeAnonymous for
destination normalization, read-only named volumes, explicit driver
configuration, and NoCopy mounts.

Add a focused bind mount inspect test for read-only bind mounts and
shared propagation.

Do not port the full integration-cli matrix. Existing integration tests
already cover anonymous volume creation and labeling, anonymous volume
removal with RemoveVolumes, and generic bind propagation handling.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2026-06-15 21:10:34 +02:00
Paweł Gronowski
17c3b61055 Merge pull request #52879 from vvoland/work-flaky2
integration/container: Extend Windows container state waits
2026-06-15 21:04:55 +02:00
Paweł Gronowski
0a95041b7d Merge pull request #52884 from vvoland/containerfs-xplat
internal/containerfs: Make cross platform
2026-06-15 21:04:05 +02:00
Cory Snider
b6c02b9e0d daemon/libnetwork: make libnftables opt-in only
As libnftables uses `select(2)` on the netlink socket the process is
aborted if the socket's file descriptor is >= 1024. A dockerd process
could easily exceed 1024 open file descriptors at a time under normal
circumstances, so there is a risk of libnftables killing dockerd at a
random time through no fault of dockerd. Default to programming nftables
rulesets by exec'ing `nft -f` until libnftables is updated to be
compatible with processes that open a large number of file descriptors
by using `poll(2)` or `epoll(2)` instead of `select(2)`.

Signed-off-by: Cory Snider <csnider@mirantis.com>
2026-06-15 14:09:17 -04:00
Paweł Gronowski
9148248216 integration/container: Wait for trap setup before signaling
Try to deflake:

- TestStopContainerWithTimeoutCancel
- TestContainerRestartWithCancelledRequest
- TestWaitBlocked
- TestWaitRestartedContainer

Several container integration tests rely on shell TERM traps to produce
specific stop, restart, or wait behavior.
They issue stop or restart requests immediately after container
creation, so dockerd can signal the process before the shell installs
its trap.
When that happens, the process uses default signal behavior and tests
can miss the expected log line or observe the wrong exit status.

Emit a readiness log after installing each trap and wait for it before
issuing stop or restart. Move logsContains into a shared helper so the
readiness check can be reused by the affected tests.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2026-06-15 20:05:38 +02:00
Paweł Gronowski
14491eaf81 internal/containerfs: Make cross platform
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2026-06-15 19:59:30 +02:00
Paweł Gronowski
b764e28d55 integration-cli/container: Rewrite on-failure restart tests
Replace flaky legacy CLI restart-policy tests with container API
integration coverage.

The CLI tests poll inspect output after short-lived detached containers
exit, which can observe transient daemon monitor state while cleanup or
restart-policy handling is still settling.

On Windows this can race a manual restart against an `on-failure:3`
container that has not exhausted its automatic retries.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2026-06-15 19:35:31 +02:00
Sebastiaan van Stijn
885abf4cf8 Dockerfile: update runc binary to v1.3.6
This is the sixth patch release of the 1.3.z series of runc. Among some
performance improvements and bugfixes, it includes a fix for a low-severity
vulnerability ([CVE-2026-41579]) and users are encouraged to update. As it was
a low-severity vulnerability and it was reported by multiple people, we decided
to release it publicly with NO EMBARGO.

Security

This release includes a fix for the following low-severity security issue:

- CVE-2026-41579 allowed a malicious image with a /dev symlink to have
  limited write access to the host filesystem in ways that our analysis
  indicates was too limited to be problematic in practice. This bug was very
  similar to those fixed in CVE-2025-31133, CVE-2025-52565, CVE-2025-31133
  and was simply missed at the time when we hardened the rootfs preparation
  code. We have conducted a deeper audit and not found any other problematic
  cases.

Fixed

- A regression in runc v1.3.0 which can result in a stuck runc exec or
  runc run when the container process runs for a short time.
- Various integration test improvements.

Changed

- When masking directories with maskPaths, runc will now re-use a single
  tmpfs instance (which is not writable) to reduce the number tmpfs
  superblocks that need to be reaped when containers die (in particular,
  Kubernetes applies masks to per-CPU sysfs directories which get expensive
  quickly).

[CVE-2026-41579]: https://github.com/opencontainers/runc/security/advisories/GHSA-xjvp-4fhw-gc47

full diff: https://github.com/opencontainers/runc/compare/v1.3.5...v1.3.6

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-06-15 19:35:15 +02:00
Akihiro Suda
16d1452a61 Merge pull request #52878 from thaJeztah/bump_cli
Dockerfile: update Docker CLI to v29.5.3
2026-06-16 00:03:46 +09:00
Paweł Gronowski
7c55f50396 Merge pull request #52862 from corhere/fix-networkdb-bulksync-concurrency
libn/networkdb: fix waiting for many bulkSync ACKs
2026-06-15 16:32:44 +02:00
Paweł Gronowski
1ba0b7b9c4 integration: Extend TestRenameAnonymousContainer wait
Use the Windows stop poll timeout when waiting for ping to exit.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2026-06-15 16:29:54 +02:00
Paweł Gronowski
352fef3916 integration: Extend TestStopContainerWithRestartPolicyAlways wait
Use the Windows stop poll timeout when waiting for stopped containers.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2026-06-15 16:29:37 +02:00
Paweł Gronowski
077777b6f7 integration: Extend TestRemoveContainerWithRemovedVolume wait
Use the Windows stop poll timeout when waiting for exit.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2026-06-15 16:29:05 +02:00
Sebastiaan van Stijn
9bf5235eb2 Merge pull request #52869 from renovate-bot/renovate/docker-github-builder-1.x
chore(deps): update docker/github-builder action to v1.12.0
2026-06-15 15:44:14 +02:00
Sebastiaan van Stijn
8a10fba6d8 Merge pull request #52875 from renovate-bot/renovate/crazy-max-.github-1.x
chore(deps): update crazy-max/.github action to v1.10.1
2026-06-15 15:43:49 +02:00
Sebastiaan van Stijn
a75197d87e Dockerfile: update Docker CLI to v29.5.3
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-06-15 15:08:29 +02:00
Mend Renovate
459ae6439c chore(deps): update crazy-max/.github action to v1.10.1
Signed-off-by: Mend Renovate <bot@renovateapp.com>
2026-06-15 09:58:35 +00:00
Sebastiaan van Stijn
fddf335bc0 Merge pull request #52874 from vvoland/gha-labeler-fix
gha/labeler: Label libnetwork changes as networking
2026-06-15 11:46:30 +02:00
Paweł Gronowski
8cd9baf14f gha/labeler: Label libnetwork changes as networking
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2026-06-15 10:47:52 +02:00
Mend Renovate
e49df7250f chore(deps): update docker/github-builder action to v1.12.0
Signed-off-by: Mend Renovate <bot@renovateapp.com>
2026-06-14 16:37:11 +00:00
Cory Snider
07c6062e1f libn/networkdb: fix waiting for many bulkSync ACKs
Concurrent bulkSyncNode calls targeting the same node overwrite each
other's entry in bulkSyncAckTbl. Only the last channel gets closed by
handleBulkSync; the rest block for 30s on a channel nobody will ever
close. This causes unnecessary delays for DNS resolution on newly
joined swarm nodes.

Only have unsolicited bulk syncs subscribe to be notified when the peer
replies with its own bulk sync as only unsolicited bulk syncs solicit a
reply. Correlate the reply to its soliciting bulk-sync using Lamport
timestamps.

Co-authored-by: Dustin Kaiser <8209087+mrnicegyu11@users.noreply.github.com>
Signed-off-by: Cory Snider <csnider@mirantis.com>
2026-06-12 14:59:48 -04:00
Sebastiaan van Stijn
74b8f98077 Merge pull request #52857 from vvoland/vendor-client
vendor: github.com/moby/moby/client v0.5.0-rc.1
v2.0.0-beta.17 docker-v29.6.0-rc.1
2026-06-12 19:54:23 +02:00
Paweł Gronowski
9dffdcc262 vendor: github.com/moby/moby/client v0.5.0-rc.1
full diff: https://github.com/moby/moby/compare/client/v0.4.1...client/v0.5.0-rc.1

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2026-06-12 19:32:40 +02:00
Sebastiaan van Stijn
62921f2e9e Merge pull request #52854 from vvoland/vendor-api
vendor: github.com/moby/moby/api v1.55.0-rc.1
client/v0.5.0-rc.1
2026-06-12 18:50:14 +02:00
Paweł Gronowski
8c9f4850d2 Merge pull request #52850 from thaJeztah/bump_x_net
vendor: golang.org/x/net v0.56.0
2026-06-12 18:39:02 +02:00
Paweł Gronowski
e5f8f5ccc9 vendor: github.com/moby/moby/api v1.55.0-rc.1
full diff: https://github.com/moby/moby/compare/api/v1.54.2...api/v1.55.0-rc.1

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2026-06-12 18:38:02 +02:00
Paweł Gronowski
5567ee86eb Merge pull request #52852 from vvoland/api-docs-cut
api/docs: Cut v1.55
api/v1.55.0-rc.1
2026-06-12 18:24:12 +02:00
Paweł Gronowski
826b3f64b8 api/docs: Cut v1.55
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2026-06-12 18:13:47 +02:00
Paweł Gronowski
355820e874 Merge pull request #52833 from corhere/overlay-nftables-clear-iptables-rules
libn/d/overlay: clean up rules from other firewall mode
2026-06-12 18:12:42 +02:00
Paweł Gronowski
a8029f67e2 Merge pull request #52698 from MD-Mushfiqur123/fix/issue-52570-swarm-auth-error
fix: propagate registry auth error in swarm image pull
2026-06-12 18:09:53 +02:00
Paweł Gronowski
f0546ad689 Merge pull request #52851 from thaJeztah/update_authors_mailmap
update AUTHORS and mailmap
2026-06-12 17:47:17 +02:00
Sebastiaan van Stijn
52231e73f7 update AUTHORS and mailmap
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-06-12 17:39:31 +02:00
Sebastiaan van Stijn
277d0f08d4 Merge pull request #52849 from vvoland/fix-dockerpy
test/docker-py: Fix swarm encrypted failure
2026-06-12 17:25:20 +02:00
Sebastiaan van Stijn
517a43eed4 vendor: golang.org/x/net v0.56.0
full diff: https://github.com/golang/net/compare/v0.55.0...v0.56.0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-06-12 17:15:48 +02:00
Sebastiaan van Stijn
5ceb949240 Merge pull request #52821 from notandruu/daemon/rlkclient-loopback-simplify
libnet/rlkclient: simplify ChildHostIP loopback handling
2026-06-12 17:03:16 +02:00
Sebastiaan van Stijn
bf81e1d54e Merge pull request #52818 from mat007/portallocator-reserved-ports
daemon/libnetwork/portallocator: skip kernel-reserved ports
2026-06-12 17:02:42 +02:00
Sebastiaan van Stijn
a2bb71ad59 Merge pull request #52806 from takumi12311123/45233-add-timeout-minutes
gha: Set timeout-minutes on build-dind and labeler jobs
2026-06-12 16:51:48 +02:00
Takumi Akasaka
7e8d2d1c13 gha: Set timeout-minutes on build-dind and labeler jobs
These were the only two jobs running directly via `runs-on:` that did
not have a `timeout-minutes` guardrail. Add 120 minutes as a starting
point to prevent runaway jobs, matching the existing convention used
elsewhere in the workflows. Tuning each job's timeout to its usual
runtime is left as a follow-up, as suggested in the issue.

Signed-off-by: Takumi Akasaka <takumiakasaka1231@gmail.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-06-12 16:10:56 +02:00
Sebastiaan van Stijn
6f484306ab Merge pull request #52651 from acouvreur/fix/container-update-blkio-device-throttle
daemon: support per-device blkio throttle in ContainerUpdate
2026-06-12 16:04:38 +02:00
Sebastiaan van Stijn
53ecd322ff Merge pull request #52828 from thaJeztah/sync_api
api/swagger: sync changes to versioned copies
2026-06-12 16:01:47 +02:00
Paweł Gronowski
dc97f25cbf daemon/router: Gate ContainerUpdate blkio device fields by API version
ContainerUpdate only starts applying per-device blkio settings in the
current API version.

The fields existed in the Go request type before that because it shares
`container.Resources` with other endpoints, but they were not documented
as supported for container update and older daemons ignored them.

Clear these fields when handling requests for older API versions so
clients pinned to those versions keep the previous behavior, while v1.55
clients can use the newly supported fields.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2026-06-12 15:52:31 +02:00