Skip to main content

Docker Engine API Feature Parity

This page tracks the implementation status of Docker Engine API v1.51 endpoints in Socktainer.

Source ticket: socktainer/socktainer#14

important

This table is just a draft for Docker Engine API v1.51. Comparing against Apple container v0.10.0 (commit 6bdb647b69671c037e2188558ed2e5ba49af2e1a). Last updated March 18th, 2026.

Status Legend​

  • ✅ Implemented - Endpoint is fully functional
  • ❌ Not Implemented - Endpoint is stubbed but not yet functional
  • ⚠️ Limited/Not Applicable - Cannot be implemented due to Apple container limitations or not applicable to Socktainer's use case
note

Endpoints marked with ⚠️ might be implemented by Apple in the future, or could be "mocked" by socktainer in the future.

Containers​

EndpointStatusNotes
/containers/json✅
/containers/create✅#37
/containers/{id}/json✅
/containers/{id}/top⚠️No matching capability available (#18)
/containers/{id}/logs✅
/containers/{id}/changes⚠️No matching capability available (#18)
/containers/{id}/export⚠️No matching capability available (#18)
/containers/{id}/stats⚠️No matching capability available (#18)
/containers/{id}/resize⚠️No matching capability available (#18)
/containers/{id}/start✅
/containers/{id}/stop✅
/containers/{id}/restart✅#82
/containers/{id}/kill✅#82
/containers/{id}/update⚠️No matching capability available (#18)
/containers/{id}/rename⚠️No matching capability available (#18)
/containers/{id}/pause⚠️No matching capability available (#18)
/containers/{id}/unpause⚠️No matching capability available (#18)
/containers/{id}/attach✅#94
/containers/{id}/attach/ws❌Not implemented, stubbed for now (#18)
/containers/{id}/wait✅#82
/containers/{id}✅
/containers/{id}/archive✅#169
/containers/prune✅#65

Images​

EndpointStatusNotes
/images/json✅
/build✅#101
/build/prune✅#183
/images/create✅#12
/images/{name}/json✅
/images/{name}/history⚠️No matching capability available (#18), could be handled entirely within socktainer.
/images/{name}/push✅#128
/images/{name}/tag✅#126
/images/{name}✅
/images/search⚠️No matching capability available(#18), who is responsible for this logic?
/images/prune✅#133
/images/{name}/get✅#137
/images/get✅#137
/images/load✅#137

Exec​

EndpointStatusNotes
/containers/{id}/exec✅
/exec/{id}/start✅
/exec/{id}/resize✅
/exec/{id}/json✅

Volumes​

EndpointStatusNotes
/volumes✅#58
/volumes/create✅#58
/volumes/{name}✅#58
/volumes/prune✅#58

Networks​

EndpointStatusNotes
/networks✅#44
/networks/{id}✅#44 #52
/networks/create✅#52
/networks/{id}/connect⚠️No matching capability available (#18)
/networks/{id}/disconnect⚠️No matching capability available (#18)
/networks/prune✅#52

System​

EndpointStatusNotes
/auth✅#105
/info✅#28
/version✅#28
/_ping✅
/commit⚠️No matching capability available (#18)
/events✅
/system/df⚠️No matching capability available (#18)
/distribution/{name}/json❌Not implemented, stubbed for now (#18).
/session⚠️No matching capability available (#18)

Plugins​

EndpointStatusNotes
/plugins⚠️Apple container supports a plugin system, should be revisited in the future (#18).
/plugins/privileges⚠️Apple container supports a plugin system, should be revisited in the future (#18).
/plugins/pull⚠️Apple container supports a plugin system, should be revisited in the future (#18).
/plugins/{name}/json⚠️Apple container supports a plugin system, should be revisited in the future (#18).
/plugins/{name}⚠️Apple container supports a plugin system, should be revisited in the future (#18).
/plugins/{name}/enable⚠️Apple container supports a plugin system, should be revisited in the future (#18).
/plugins/{name}/disable⚠️Apple container supports a plugin system, should be revisited in the future (#18).
/plugins/{name}/upgrade⚠️Apple container supports a plugin system, should be revisited in the future (#18).
/plugins/create⚠️Apple container supports a plugin system, should be revisited in the future (#18).
/plugins/{name}/push⚠️Apple container supports a plugin system, should be revisited in the future (#18).
/plugins/{name}/set⚠️Apple container supports a plugin system, should be revisited in the future (#18).

Swarm (Not Applicable)​

EndpointStatusNotes
/nodes⚠️Not applicable, part of swarm. Should return some kind of an error to user (#18).
/nodes/{id}⚠️Not applicable, part of swarm. Should return some kind of an error to user (#18).
/nodes/{id}/update⚠️Not applicable, part of swarm. Should return some kind of an error to user (#18).
/swarm⚠️Not applicable, should return some kind of an error to user (#17).
/swarm/init⚠️Not applicable, should return some kind of an error to user (#17).
/swarm/join⚠️Not applicable, should return some kind of an error to user (#17).
/swarm/leave⚠️Not applicable, should return some kind of an error to user (#17).
/swarm/update⚠️Not applicable, should return some kind of an error to user (#17).
/swarm/unlockkey⚠️Not applicable, should return some kind of an error to user (#17).
/swarm/unlock⚠️Not applicable, should return some kind of an error to user (#17).
/services⚠️Not applicable, part of swarm. Should return some kind of an error to user (#18).
/services/create⚠️Not applicable, part of swarm. Should return some kind of an error to user (#18).
/services/{id}⚠️Not applicable, part of swarm. Should return some kind of an error to user (#18).
/services/{id}/update⚠️Not applicable, part of swarm. Should return some kind of an error to user (#18).
/services/{id}/logs⚠️Not applicable, part of swarm. Should return some kind of an error to user (#18).
/tasks⚠️Not applicable, part of swarm. Should return some kind of an error to user (#18).
/tasks/{id}⚠️Not applicable, part of swarm. Should return some kind of an error to user (#18).
/tasks/{id}/logs⚠️Not applicable, part of swarm. Should return some kind of an error to user (#18).
/secrets⚠️Not applicable, part of swarm. Should return some kind of an error to user (#18).
/secrets/create⚠️Not applicable, part of swarm. Should return some kind of an error to user (#18).
/secrets/{id}⚠️Not applicable, part of swarm. Should return some kind of an error to user (#18).
/secrets/{id}/update⚠️Not applicable, part of swarm. Should return some kind of an error to user (#18).
/configs⚠️Not applicable, part of swarm. Should return some kind of an error to user (#18).
/configs/create⚠️Not applicable, part of swarm. Should return some kind of an error to user (#18).
/configs/{id}⚠️Not applicable, part of swarm. Should return some kind of an error to user (#18).
/configs/{id}/update⚠️Not applicable, part of swarm. Should return some kind of an error to user (#18).

Contributing to API Coverage​

This feature parity list is subject to change as both Socktainer and Apple's container framework mature. If you're interested in implementing any of the missing endpoints:

  1. Check if there's an existing GitHub issue for the endpoint
  2. Review the Apple container framework capabilities
  3. File a new issue before starting implementation to coordinate with other contributors