DockerApi v0.1.3 DockerApi.Container View Source
This module support container api.
# List containers.
iex> DockerApi.Container.list()
{:ok,
[
%DockerApi.Container{
connection: %DockerApi.Connection{
ipfamily: :local,
unix_socket: '/var/run/docker.sock'
},
id: "1a50869e463662b4546c4dda0606e25165482080969ec690826db809d3ae9a70"
}
]}
# Create a container.
iex> {:ok, container} = DockerApi.Container.create([query: [name: "test_container"], body: %{Image: "ubuntu:latest", Tty: true}])
{:ok,
%DockerApi.Container{
connection: %DockerApi.Connection{
ipfamily: :local,
unix_socket: '/var/run/docker.sock'
},
id: "cb5972cf722babb4fd2099da051d5850c59c92f314dec8262209d580ce6d4d8c"
}}
# Start a container.
iex> DockerApi.Container.start(container)
{:ok,
%DockerApi.Container{
connection: %DockerApi.Connection{
ipfamily: :local,
unix_socket: '/var/run/docker.sock'
},
id: "cb5972cf722babb4fd2099da051d5850c59c92f314dec8262209d580ce6d4d8c"
}}
# Stop a container.
iex> DockerApi.Container.stop(container)
{:ok,
%DockerApi.Container{
connection: %DockerApi.Connection{
ipfamily: :local,
unix_socket: '/var/run/docker.sock'
},
id: "cb5972cf722babb4fd2099da051d5850c59c92f314dec8262209d580ce6d4d8c"
}}
# Restart a container.
iex> DockerApi.Container.restart(container)
{:ok,
%DockerApi.Container{
connection: %DockerApi.Connection{
ipfamily: :local,
unix_socket: '/var/run/docker.sock'
},
id: "cb5972cf722babb4fd2099da051d5850c59c92f314dec8262209d580ce6d4d8c"
}}
# Inspect a container.
iex> DockerApi.Container.inspect(container)
{:ok,
%{
"AppArmorProfile" => "",
"Args" => [],
...
}}
# Pause a container.
iex> DockerApi.Container.pause(container)
{:ok,
%DockerApi.Container{
connection: %DockerApi.Connection{
ipfamily: :local,
unix_socket: '/var/run/docker.sock'
},
id: "cb5972cf722babb4fd2099da051d5850c59c92f314dec8262209d580ce6d4d8c"
}}
# Unpause a container.
iex> DockerApi.Container.unpause(container)
{:ok,
%DockerApi.Container{
connection: %DockerApi.Connection{
ipfamily: :local,
unix_socket: '/var/run/docker.sock'
},
id: "cb5972cf722babb4fd2099da051d5850c59c92f314dec8262209d580ce6d4d8c"
}}
# List processes running inside a container.
iex> DockerApi.Container.top(container)
{:ok,
%{
"Processes" => [
["root", "2046", "2019", "1", "22:56", "pts/0", "00:00:00", "/bin/bash"]
],
"Titles" => ["UID", "PID", "PPID", "C", "STIME", "TTY", "TIME", "CMD"]
}}
# Kill a container
iex> DockerApi.Container.kill(container)
{:ok,
%DockerApi.Container{
connection: %DockerApi.Connection{
ipfamily: :local,
unix_socket: '/var/run/docker.sock'
},
id: "cb5972cf722babb4fd2099da051d5850c59c92f314dec8262209d580ce6d4d8c"
}}
# Remove a container
iex> DockerApi.Container.remove(container)
:ok
Link to this section Summary
Link to this section Functions
https://docs.docker.com/engine/api/v1.40/#operation/ContainerLogs
Example
iex> DockerApi.Container.changes(container)
{:ok, nil}
create(opts \\ [], connection \\ %DockerApi.Connection{})
View Source (since 0.1.1)https://docs.docker.com/engine/api/v1.40/#operation/ContainerCreate
Example
iex> {:ok, container} = DockerApi.Container.create([query: [name: "test_container"], body: %{Image: "ubuntu:latest", Tty: true}])
{:ok,
%DockerApi.Container{
connection: %DockerApi.Connection{
ipfamily: :local,
unix_socket: '/var/run/docker.sock'
},
id: "cb5972cf722babb4fd2099da051d5850c59c92f314dec8262209d580ce6d4d8c"
}}
https://docs.docker.com/engine/api/v1.40/#operation/ContainerExport
https://docs.docker.com/engine/api/v1.40/#operation/ContainerInspect
Example
iex> DockerApi.Container.inspect(container)
{:ok,
%{
"AppArmorProfile" => "",
"Args" => [],
...
}}
https://docs.docker.com/engine/api/v1.40/#operation/ContainerKill
Example
iex> DockerApi.Container.kill(container)
{:ok,
%DockerApi.Container{
connection: %DockerApi.Connection{
ipfamily: :local,
unix_socket: '/var/run/docker.sock'
},
id: "cb5972cf722babb4fd2099da051d5850c59c92f314dec8262209d580ce6d4d8c"
}}
list(opts \\ [], connection \\ %DockerApi.Connection{})
View Source (since 0.1.1)https://docs.docker.com/engine/api/v1.40/#operation/ContainerList
Example
iex> DockerApi.Container.list()
{:ok,
[
%DockerApi.Container{
connection: %DockerApi.Connection{
ipfamily: :local,
unix_socket: '/var/run/docker.sock'
},
id: "1a50869e463662b4546c4dda0606e25165482080969ec690826db809d3ae9a70"
}
]}
https://docs.docker.com/engine/api/v1.40/#operation/ContainerPause
Example
iex> DockerApi.Container.pause(container)
{:ok,
%DockerApi.Container{
connection: %DockerApi.Connection{
ipfamily: :local,
unix_socket: '/var/run/docker.sock'
},
id: "cb5972cf722babb4fd2099da051d5850c59c92f314dec8262209d580ce6d4d8c"
}}
prune(opts \\ [], connection \\ %DockerApi.Connection{})
View Source (since 0.1.1)https://docs.docker.com/engine/api/v1.40/#operation/ContainerPrune
https://docs.docker.com/engine/api/v1.40/#operation/ContainerDelete
Example
iex> DockerApi.Container.pause(container)
:ok
https://docs.docker.com/engine/api/v1.40/#operation/ContainerRename
https://docs.docker.com/engine/api/v1.40/#operation/ContainerResize
https://docs.docker.com/engine/api/v1.40/#operation/ContainerRestart
Example
iex> DockerApi.Container.restart(container)
{:ok,
%DockerApi.Container{
connection: %DockerApi.Connection{
ipfamily: :local,
unix_socket: '/var/run/docker.sock'
},
id: "cb5972cf722babb4fd2099da051d5850c59c92f314dec8262209d580ce6d4d8c"
}}
https://docs.docker.com/engine/api/v1.40/#operation/ContainerStart
Example
iex> DockerApi.Container.start(container)
{:ok,
%DockerApi.Container{
connection: %DockerApi.Connection{
ipfamily: :local,
unix_socket: '/var/run/docker.sock'
},
id: "cb5972cf722babb4fd2099da051d5850c59c92f314dec8262209d580ce6d4d8c"
}}
https://docs.docker.com/engine/api/v1.40/#operation/ContainerStop
Example
iex> DockerApi.Container.stop(container)
{:ok,
%DockerApi.Container{
connection: %DockerApi.Connection{
ipfamily: :local,
unix_socket: '/var/run/docker.sock'
},
id: "cb5972cf722babb4fd2099da051d5850c59c92f314dec8262209d580ce6d4d8c"
}}
https://docs.docker.com/engine/api/v1.40/#operation/ContainerTop
Example
iex> DockerApi.Container.top(container)
{:ok,
%{
"Processes" => [
["root", "2046", "2019", "1", "22:56", "pts/0", "00:00:00", "/bin/bash"]
],
"Titles" => ["UID", "PID", "PPID", "C", "STIME", "TTY", "TIME", "CMD"]
}}
https://docs.docker.com/engine/api/v1.40/#operation/ContainerUnpause
Example
iex> DockerApi.Container.pause(container)
{:ok,
%DockerApi.Container{
connection: %DockerApi.Connection{
ipfamily: :local,
unix_socket: '/var/run/docker.sock'
},
id: "cb5972cf722babb4fd2099da051d5850c59c92f314dec8262209d580ce6d4d8c"
}}
https://docs.docker.com/engine/api/v1.40/#operation/ContainerUpdate
https://docs.docker.com/engine/api/v1.40/#operation/ContainerWait