Docker Engine API
  1. Image
Docker Engine API
  • System
    • Ping
      GET
    • Check auth configuration
      POST
    • Monitor events
      GET
    • Get system information
      GET
    • Get data usage information
      GET
    • Get version
      GET
  • Image
    • Build an image
      POST
    • Delete builder cache
      POST
    • Create a new image from a container
      POST
    • Create an image
      POST
    • Export several images
      GET
    • List Images
      GET
    • Import images
      POST
    • Delete unused images
      POST
    • Search images
      GET
    • Remove an image
      DELETE
    • Export an image
      GET
    • Get the history of an image
      GET
    • Inspect an image
      GET
    • Push an image
      POST
    • Tag an image
      POST
  • Config
    • List configs
      GET
    • Create a config
      POST
    • Delete a config
      DELETE
    • Inspect a config
      GET
    • Update a Config
      POST
  • Container
    • Create a container
    • List containers
    • Delete stopped containers
    • Remove a container
    • Get an archive of a filesystem resource in a container
    • Get information about files in a container
    • Extract an archive of files or folders to a directory in a container
    • Attach to a container
    • Attach to a container via a websocket
    • Get changes on a container’s filesystem
    • Export a container
    • Inspect a container
    • Kill a container
    • Get container logs
    • Pause a container
    • Rename a container
    • Resize a container TTY
    • Restart a container
    • Start a container
    • Get container stats based on resource usage
    • Stop a container
    • List processes running inside a container
    • Unpause a container
    • Update a container
    • Wait for a container
  • Exec
    • Create an exec instance
    • Inspect an exec instance
    • Resize an exec instance
    • Start an exec instance
  • Distribution
    • Get image information from the registry
  • Network
    • List networks
    • Create a network
    • Delete unused networks
    • Remove a network
    • Inspect a network
    • Connect a container to a network
    • Disconnect a container from a network
  • Node
    • List nodes
    • Delete a node
    • Inspect a node
    • Update a node
  • Plugin
    • List plugins
    • Create a plugin
    • Get plugin privileges
    • Install a plugin
    • Remove a plugin
    • Disable a plugin
    • Enable a plugin
    • Inspect a plugin
    • Push a plugin
    • Configure a plugin
    • Upgrade a plugin
  • Secret
    • List secrets
    • Create a secret
    • Delete a secret
    • Inspect a secret
    • Update a Secret
  • Service
    • List services
    • Create a service
    • Delete a service
    • Inspect a service
    • Get service logs
    • Update a service
  • Session (experimental)
    • Initialize interactive session
  • Swarm
    • Inspect swarm
    • Initialize a new swarm
    • Join an existing swarm
    • Leave a swarm
    • Unlock a locked manager
    • Get the unlock key
    • Update a swarm
  • Task
    • List tasks
    • Inspect a task
  • Volume
    • List volumes
    • Create a volume
    • Delete unused volumes
    • Remove a volume
    • Inspect a volume
  • Get task logs
    GET
  1. Image

Create a new image from a container

/v1.33
/v1.33
/v1.33
/v1.33
POST
/commit
Image
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/v1.33/commit' \
--header 'Content-Type: application/json' \
--data-raw '{
    "ArgsEscaped": true,
    "AttachStderr": true,
    "AttachStdin": false,
    "AttachStdout": true,
    "Cmd": [
        null
    ],
    "Domainname": "string",
    "Entrypoint": [
        null
    ],
    "Env": [
        "string"
    ],
    "ExposedPorts": {
        "property1": {},
        "property2": {}
    },
    "Healthcheck": {
        "Interval": 0,
        "Retries": 0,
        "StartPeriod": 0,
        "Test": [
            "string"
        ],
        "Timeout": 0
    },
    "Hostname": "string",
    "Image": "string",
    "Labels": {
        "property1": "string",
        "property2": "string"
    },
    "MacAddress": "string",
    "NetworkDisabled": true,
    "OnBuild": [
        "string"
    ],
    "OpenStdin": false,
    "Shell": [
        "string"
    ],
    "StdinOnce": false,
    "StopSignal": "SIGTERM",
    "StopTimeout": 10,
    "Tty": false,
    "User": "string",
    "Volumes": {
        "additionalProperties": {}
    },
    "WorkingDir": "string"
}'
Response Response Example
201 - Example 1
{
    "Id": "string"
}

Request

Query Params
container
string 
optional
The ID or name of the container to commit
repo
string 
optional
Repository name for the created image
tag
string 
optional
Tag name for the create image
comment
string 
optional
Commit message
author
string 
optional
Author of the image (e.g., John Hannibal Smith <hannibal@a-team.com>)
pause
string 
optional
Whether to pause the container before committing
changes
string 
optional
Dockerfile instructions to apply while committing
Body Params application/json
Configuration for a container that is portable between hosts
ArgsEscaped
boolean 
optional
Command is already escaped (Windows only)
AttachStderr
boolean 
optional
Whether to attach to stderr.
Default:
true
AttachStdin
boolean 
optional
Whether to attach to stdin.
Default:
false
AttachStdout
boolean 
optional
Whether to attach to stdout.
Default:
true
Cmd
optional
Command to run specified as a string or an array of strings.
One of
Domainname
string 
optional
The domain name to use for the container.
Entrypoint
optional
The entry point for the container as a string or an array of strings.
If the array consists of exactly one empty string ([""]) then the entry point is reset to system default (i.e., the entry point used by docker when there is no ENTRYPOINT instruction in the Dockerfile).
One of
Env
array[string]
optional
A list of environment variables to set inside the container in the form ["VAR=value", ...]. A variable without = is removed from the environment, rather than to have an empty value.
ExposedPorts
object 
optional
An object mapping ports to an empty object in the form:
{"<port>/<tcp|udp>": {}}
Additional properties
object 
optional
Allowed value:
{}
Default:
{}
Healthcheck
object (HealthConfig) 
optional
A test to perform to check that the container is healthy.
Interval
integer 
optional
The time to wait between checks in nanoseconds. It should be 0 or at least 1000000 (1 ms). 0 means inherit.
Retries
integer 
optional
The number of consecutive failures needed to consider a container as unhealthy. 0 means inherit.
StartPeriod
integer 
optional
Start period for the container to initialize before starting health-retries countdown in nanoseconds. It should be 0 or at least 1000000 (1 ms). 0 means inherit.
Test
array[string]
optional
The test to perform. Possible values are:
[] inherit healthcheck from image or parent image
["NONE"] disable healthcheck
["CMD", args...] exec arguments directly
["CMD-SHELL", command] run command with system's default shell
Timeout
integer 
optional
The time to wait before considering the check to have hung. It should be 0 or at least 1000000 (1 ms). 0 means inherit.
Hostname
string 
optional
The hostname to use for the container, as a valid RFC 1123 hostname.
Image
string 
optional
The name of the image to use when creating the container
Labels
object 
optional
User-defined key/value metadata.
Additional properties
string 
optional
MacAddress
string 
optional
MAC address of the container.
NetworkDisabled
boolean 
optional
Disable networking for the container.
OnBuild
array[string]
optional
ONBUILD metadata that were defined in the image's Dockerfile.
OpenStdin
boolean 
optional
Open stdin
Default:
false
Shell
array[string]
optional
Shell for when RUN, CMD, and ENTRYPOINT uses a shell.
StdinOnce
boolean 
optional
Close stdin after one attached client disconnects
Default:
false
StopSignal
string 
optional
Signal to stop a container as a string or unsigned integer.
Default:
SIGTERM
StopTimeout
integer 
optional
Timeout to stop a container in seconds.
Default:
10
Tty
boolean 
optional
Attach standard streams to a TTY, including stdin if it is not closed.
Default:
false
User
string 
optional
The user that commands are run as inside the container.
Volumes
object 
optional
An object mapping mount point paths inside the container to empty objects.
additionalProperties
object 
optional
Allowed value:
{}
Default:
{}
WorkingDir
string 
optional
The working directory for commands to run in.
Examples

Responses

🟢201no error
application/json
Body
Response to an API call that returns just an Id
Id
string 
required
The id of the newly created object.
🟠404no such container
🔴500server error
Modified at 2022-09-10 17:56:06
Previous
Delete builder cache
Next
Create an image
Built with