Understand the Swarm vs. Engine response codes
Docker Engine provides a REST API for making calls to the Engine daemon. Docker Swarm allows a caller to make the same calls to a cluster of Engine daemons. While the API calls are the same, the API response status codes do differ. This document explains the differences.
Four methods are included, and they are GET, POST, PUT and DELETE.
The comparison is based on api v1.22, and all Docker Status Codes in api v1.22 are referenced from docker-remote-api-v1.22.
GET
- Route:
/_ping - Handler:
ping
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 500 |
- Route:
/events
- Handler:
getEvents
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 400 | |
| 500 |
- Route:
/info
- Handler:
getInfo
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 500 |
- Route:
/version
- Handler:
getVersion
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 500 |
- Route:
/images/json
- Handler:
getImagesJSON
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 500 | 500 |
- Route:
/images/viz
- Handler:
notImplementedHandler
| Swarm Status Code | Docker Status Code |
|---|---|
| 501 | no this api |
- Route:
/images/search
- Handler:
proxyRandom
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 500 | 500 |
- Route:
/images/get
- Handler:
getImages
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 404 | |
| 500 | 500 |
- Route:
/images/{name:.*}/get
- Handler:
proxyImageGet
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 404 | |
| 500 | 500 |
- Route:
/images/{name:.*}/history
- Handler:
proxyImage
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 404 | 404 |
| 500 | 500 |
- Route:
/images/{name:.*}/json
- Handler:
proxyImage
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 404 | 404 |
| 500 | 500 |
- Route:
/containers/ps
- Handler:
getContainersJSON
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | no this api |
| 404 | no this api |
| 500 | no this api |
- Route:
/containers/json
- Handler:
getContainersJSON
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 400 | |
| 404 | |
| 500 | 500 |
- Route:
/containers/{name:.*}/archive
- Handler:
proxyContainer
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 400 | 400 |
| 404 | 404 |
| 500 | 500 |
- Route:
/containers/{name:.*}/export
- Handler:
proxyContainer
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 404 | 404 |
| 500 | 500 |
- Route:
/containers/{name:.*}/changes
- Handler:
proxyContainer
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 404 | 404 |
| 500 | 500 |
- Route:
/containers/{name:.*}/json
- Handler:
getContainerJSON
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 404 | 404 |
| 500 | 500 |
- Route:
/containers/{name:.*}/top
- Handler:
proxyContainer
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 404 | 404 |
| 500 | 500 |
- Route:
/containers/{name:.*}/logs
- Handler:
proxyContainer
| Swarm Status Code | Docker Status Code |
|---|---|
| 101 | 101 |
| 200 | 200 |
| 404 | 404 |
| 500 | 500 |
- Route:
/containers/{name:.*}/stats
- Handler:
proxyContainer
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 404 | 404 |
| 500 | 500 |
- Route:
/containers/{name:.*}/attach/ws - Handler:
proxyHijack
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 400 | 400 |
| 404 | 404 |
| 500 | 500 |
- Route:
/exec/{execid:.*}/json
- Handler:
proxyContainer
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 404 | 404 |
| 500 | 500 |
- Route:
/networks
- Handler:
getNetworks
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 400 | |
| 500 | 500 |
- Route:
/networks/{networkid:.*}
- Handler:
getNetwork
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 404 | 404 |
- Route:
/volumes
- Handler:
getVolumes
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 500 |
- Route:
/volumes/{volumename:.*}
- Handler:
getVolume
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 404 | 404 |
| 500 |
POST
- Route:
/auth - Handler:
proxyRandom
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 204 | 204 |
| 500 | 500 |
- Route:
/commit - Handler:
postCommit
| Swarm Status Code | Docker Status Code |
|---|---|
| 201 | 201 |
| 404 | 404 |
| 500 | 500 |
- Route:
/build - Handler:
postBuild
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 500 | 500 |
- Route:
/images/create - Handler:
postImagesCreate
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 500 | 500 |
- Route:
/images/load - Handler:
postImagesLoad
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | |
| 201 | |
| 500 |
- Route:
/images/{name:.*}/push - Handler:
proxyImagePush
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 404 | 404 |
| 500 | 500 |
- Route:
/images/{name:.*}/tag - Handler:
postTagImage
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | |
| 201 | |
| 400 | |
| 404 | 404 |
| 409 | |
| 500 | 500 |
- Route:
/containers/create - Handler:
postContainersCreate
| Swarm Status Code | Docker Status Code |
|---|---|
| 201 | 201 |
| 400 | |
| 404 | |
| 406 | |
| 409 | |
| 500 | 500 |
- Route:
/containers/{name:.*}/kill - Handler:
proxyContainerAndForceRefresh
| Swarm Status Code | Docker Status Code |
|---|---|
| 204 | 204 |
| 404 | 404 |
| 500 | 500 |
- Route:
/containers/{name:.*}/pause - Handler:
proxyContainerAndForceRefresh
| Swarm Status Code | Docker Status Code |
|---|---|
| 204 | 204 |
| 404 | 404 |
| 500 | 500 |
- Route:
/containers/{name:.*}/unpause - Handler:
proxyContainerAndForceRefresh
| Swarm Status Code | Docker Status Code |
|---|---|
| 204 | 204 |
| 404 | 404 |
| 500 | 500 |
- Route:
/containers/{name:.*}/rename - Handler:
postRenameContainer
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | |
| 204 | |
| 404 | 404 |
| 409 | 409 |
| 500 | 500 |
- Route:
/containers/{name:.*}/restart - Handler:
proxyContainerAndForceRefresh
| Swarm Status Code | Docker Status Code |
|---|---|
| 204 | 204 |
| 404 | 404 |
| 500 | 500 |
- Route:
/containers/{name:.*}/start - Handler:
postContainersStart
| Swarm Status Code | Docker Status Code |
|---|---|
| 204 | 204 |
| 304 | |
| 404 | 404 |
| 500 | 500 |
- Route:
/containers/{name:.*}/stop - Handler:
proxyContainerAndForceRefresh
| Swarm Status Code | Docker Status Code |
|---|---|
| 204 | 204 |
| 304 | 304 |
| 404 | 404 |
| 500 | 500 |
- Route:
/containers/{name:.*}/update - Handler:
proxyContainerAndForceRefresh
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 400 | 400 |
| 404 | 404 |
| 500 | 500 |
- Route:
/containers/{name:.*}/wait - Handler:
proxyContainerAndForceRefresh
| Swarm Status Code | Docker Status Code |
|---|---|
| 204 | 204 |
| 404 | 404 |
| 500 | 500 |
- Route:
/containers/{name:.*}/resize - Handler:
proxyContainer
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 404 | 404 |
| 500 | 500 |
- Route:
/containers/{name:.*}/attach - Handler:
proxyHijack
| Swarm Status Code | Docker Status Code |
|---|---|
| 101 | 101 |
| 200 | 200 |
| 400 | 400 |
| 404 | 404 |
| 500 | 500 |
- Route:
/containers/{name:.*}/copy - Handler:
proxyContainer
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 404 | 404 |
| 500 | 500 |
- Route:
/containers/{name:.*}/exec - Handler:
postContainersExec
| Swarm Status Code | Docker Status Code |
|---|---|
| 201 | 201 |
| 404 | 404 |
| 409 | |
| 500 | 500 |
- Route:
/exec/{execid:.*}/start - Handler:
postExecStart
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 404 | 404 |
| 409 | 409 |
| 500 |
- Route:
/exec/{execid:.*}/resize - Handler:
proxyContainer
| Swarm Status Code | Docker Status Code |
|---|---|
| 201 | 201 |
| 404 | 404 |
| 500 |
- Route:
/networks/create - Handler:
postNetworksCreate
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | |
| 201 | |
| 400 | |
| 404 | |
| 500 | 500 |
- Route:
/networks/{networkid:.*}/connect - Handler:
proxyNetworkConnect
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 404 | 404 |
| 500 | 500 |
- Route:
/networks/{networkid:.*}/disconnect - Handler:
proxyNetworkDisconnect
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 404 | 404 |
| 500 | 500 |
- Route:
/volumes/create - Handler:
postVolumesCreate
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | |
| 201 | |
| 400 | |
| 500 | 500 |
PUT
- Route:
/containers/{name:.*}/archive" - Handler:
proxyContainer
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 400 | 400 |
| 403 | 403 |
| 404 | 404 |
| 500 | 500 |
DELETE
- Route:
/containers/{name:.*} - Handler:
deleteContainers
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | |
| 204 | |
| 400 | |
| 404 | 404 |
| 500 | 500 |
- Route:
/images/{name:.*} - Handler:
deleteImages
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | 200 |
| 404 | 404 |
| 409 | |
| 500 | 500 |
- Route:
/networks/{networkid:.*} - Handler:
deleteNetworks
| Swarm Status Code | Docker Status Code |
|---|---|
| 200 | |
| 204 | |
| 404 | 404 |
| 500 | 500 |
- Route:
/volumes/{name:.*}" - Handler:
deleteVolumes
| Swarm Status Code | Docker Status Code |
|---|---|
| 204 | 204 |
| 404 | 404 |
| 409 | |
| 500 | 500 |
© 2017 Docker, Inc.
Licensed under the Apache License, Version 2.0.
Docker and the Docker logo are trademarks or registered trademarks of Docker, Inc. in the United States and/or other countries.
Docker, Inc. and other parties may also have trademark rights in other terms used herein.
https://docs.docker.com/v1.11/swarm/status-code-comparison-to-docker/