ProductPromotion
Logo

Elixir

made by https://0x3d.site

GitHub - hisea/dockerex
Contribute to hisea/dockerex development by creating an account on GitHub.
Visit Site

GitHub - hisea/dockerex

GitHub - hisea/dockerex

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:

  1. Add dockerex to your list of dependencies in mix.exs:
def deps do
  [{:dockerex, "~> 0.1.0"}]
end
  1. Ensure dockerex is started before your application:
def application do
  [applications: [:dockerex]]
end
  1. 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&timestamps=0&since=#{DateTime.to_unix(DateTime.utc_now) - 5}")
  
Dockerex.Client.delete("containers/#{cid}")

Articles
to learn more about the elixir concepts.

Resources
which are currently available to browse on.

mail [email protected] to add your project or resources here 🔥.

FAQ's
to know more about the topic.

mail [email protected] to add your project or resources here 🔥.

Queries
or most google FAQ's about Elixir.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory