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. -
sparkpost
SparkPost client library for Elixir https://developers.sparkpost.com -
elixtagram
:camera: Instagram API client for the Elixir language (elixir-lang) -
google_sheets
Elixir library for fetching Google Spreadsheet data in CSV format -
pay_pal
:money_with_wings: PayPal REST API client for the Elixir language (elixir-lang) -
amazon_product_advertising_client
An Amazon Product Advertising API client for Elixir -
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 -
elixir_ipfs_api
The Elixir library that is used to communicate with the IPFS REST endpoint.
Collect and Analyze Billions of Data Points in Real Time
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}")