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

Functions

Link to this section Functions

Link to this function

changes(container, opts \\ [])

View Source (since 0.1.1)

https://docs.docker.com/engine/api/v1.40/#operation/ContainerLogs

Example

iex> DockerApi.Container.changes(container)
{:ok, nil}
Link to this function

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"
 }}
Link to this function

export(container, opts)

View Source (since 0.1.1)

https://docs.docker.com/engine/api/v1.40/#operation/ContainerExport

Link to this function

inspect(container, opts \\ [])

View Source (since 0.1.1)

https://docs.docker.com/engine/api/v1.40/#operation/ContainerInspect

Example

iex> DockerApi.Container.inspect(container)
{:ok,
 %{
   "AppArmorProfile" => "",
   "Args" => [],
   ...
 }}
Link to this function

kill(container, opts \\ [])

View Source (since 0.1.1)

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"
 }}
Link to this function

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"
   }
 ]}
Link to this function

pause(container, opts \\ [])

View Source (since 0.1.1)

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"
 }}
Link to this function

prune(opts \\ [], connection \\ %DockerApi.Connection{})

View Source (since 0.1.1)

https://docs.docker.com/engine/api/v1.40/#operation/ContainerPrune

Link to this function

remove(container, opts \\ [])

View Source (since 0.1.1)

https://docs.docker.com/engine/api/v1.40/#operation/ContainerDelete

Example

iex> DockerApi.Container.pause(container)
:ok
Link to this function

rename(container, opts \\ [])

View Source (since 0.1.1)

https://docs.docker.com/engine/api/v1.40/#operation/ContainerRename

Link to this function

resize(container, opts \\ [])

View Source (since 0.1.1)

https://docs.docker.com/engine/api/v1.40/#operation/ContainerResize

Link to this function

restart(container, opts \\ [])

View Source (since 0.1.1)

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"
 }}
Link to this function

start(container, opts \\ [])

View Source (since 0.1.1)

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"
 }}
Link to this function

stop(container, opts \\ [])

View Source (since 0.1.1)

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"
 }}
Link to this function

top(container, opts \\ [])

View Source (since 0.1.1)

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"]
 }}
Link to this function

unpause(container, opts \\ [])

View Source (since 0.1.1)

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"
 }}
Link to this function

update(container, opts \\ [])

View Source (since 0.1.1)

https://docs.docker.com/engine/api/v1.40/#operation/ContainerUpdate

Link to this function

wait(container, opts \\ [])

View Source (since 0.1.1)

https://docs.docker.com/engine/api/v1.40/#operation/ContainerWait