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.
-
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
SaaSHub - Software Alternatives and Reviews
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
dockerexto your list of dependencies inmix.exs:
def deps do
[{:dockerex, "~> 0.1.0"}]
end
- Ensure
dockerexis 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}")