mrusme / marine_diesel

Elixir client library for the Docker API.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MarineDiesel

Elixir client library for the Docker API. Currently supported API versions:

  • 1.27

Supported Docker API features

Other todos

Installation

Add marine_diesel to your list of dependencies in mix.exs:

def deps do
  [{:marine_diesel, "~> 0.1.0"}]
end

Add marine_diesel to your applications:

def application do
  [applications: [:marine_diesel]]
end

Configure marine_diesel in your config/config.exs:

config :marine_diesel,
	docker: [
		host: "192.168.99.100",
		port: 2376
	],
	ssl: [
		cacertfile: "certs/ca.crt",
		certfile: "certs/client.crt",
		keyfile: "certs/client.key",
		password: 'test'
	]

If you don't want to use SSL (although you really should), you can simply leave the ssl: portion away (although you really shouldn't).

Example usage

    import MarineDiesel.Network

    ...

    IO.inspect MarineDiesel.Network.index()

    net = %MarineDiesel.Network{
        Name: "isolated_nw",
        CheckDuplicate: false,
        Driver: "bridge",
        EnableIPv6: false,
        IPAM: %{
            Driver: "default",
            Config: [
                %{
                    Subnet: "172.24.0.0/16",
                    IPRange: "172.24.11.0/24",
                    Gateway: "172.24.11.11"
                }
            ]
        },
        Internal: true,
        Attachable: false,
        Options: %{
            "com.docker.network.bridge.default_bridge": "false",
            "com.docker.network.bridge.enable_icc": "true",
            "com.docker.network.bridge.enable_ip_masquerade": "true",
            "com.docker.network.bridge.name": "docker5",
            "com.docker.network.driver.mtu": "1500"
        },
        Labels: %{}
    }

    createdNet = net 
    |> create

    IO.inspect createdNet

    IO.inspect createdNet 
    |> show

    IO.inspect createdNet
    |> destroy

    ...

About

Elixir client library for the Docker API.

License:MIT License


Languages

Language:Elixir 100.0%