dockerex alternatives and similar packages
Based on the "Third Party APIs" category.
Alternatively, view dockerex alternatives based on common mentions on social networks and blogs.
-
ethereumex
Elixir JSON-RPC client for the Ethereum blockchain 0x063D3d782598744AF1252eBEaf3aA97D990Edf72 -
MongoosePush
MongoosePush is a simple Elixir RESTful service allowing to send push notification via FCM and/or APNS. -
cashier
Cashier is an Elixir library that aims to be an easy to use payment gateway, whilst offering the fault tolerance and scalability benefits of being built on top of Erlang/OTP
InfluxDB - Purpose built for real-time analytics at any scale.
Do you think we are missing an alternative of dockerex or a related project?
README
Dockerex
Dockerex is a lightweight Docker Remote API Client for Elixir that supports SSL connection to a Docker Host or a Docker Swarm manager.
Dockerex is tested against latest Docker Remote API v1.24.
Installation
The package can be installed as:
- Add
dockerex
to your list of dependencies inmix.exs
:
def deps do
[{:dockerex, "~> 0.1.0"}]
end
- Ensure
dockerex
is started before your application:
def application do
[applications: [:dockerex]]
end
- Config your docker host in
config.exs
config :dockerex,
host: "https://10.10.10.1:2376/",
options: [
ssl: [
{:certfile, "/path/to/your/cert.pem"},
{:keyfile, "/path/to/your/key.pem"}
]
]
You may also establish a connection to the docker engine over a unix socket. To
do this, set the host variable in your config to "http+unix://PATH/"
. Note
that PATH
has to be URI-encoded, i.e. the default socket path would be
%2Fvar%2Frun%2Fdocker.sock
.
Usage
Dockerex is a lightweight client, which means you need to specify the endpoint and original docker params in a map format.
Before making any requests, you have to start the HTTP client by calling
HTTPoison.start
.
Some examples:
result = Dockerex.Client.post("containers/create", %{"Image": "nginx",
"Tty": true,
"HostConfig": %{"RestartPolicy": %{ "Name": "always"}},
"Cmd": ["start.sh"]})
cid = result["Id"]
Dockerex.Client.post("containers/#{cid}/start")
Dockerex.Client.post("containers/#{cid}/stop")
Dockerex.Client.get("containers/#{cid}/logs?stderr=1&stdout=1×tamps=0&since=#{DateTime.to_unix(DateTime.utc_now) - 5}")
Dockerex.Client.delete("containers/#{cid}")