• Stars
    star
    139
  • Rank 254,688 (Top 6 %)
  • Language
    Java
  • License
    MIT License
  • Created over 8 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🐳 A lightweight Docker Developer Interface for Docker Remote API
duke rapid logo

Travis devDependency Status License Analytics

screen

Rapid Docker Interface provides a connection between Docker queries and your Docker Host. Rapid changes the way of using Docker Engine API with ease. The Command Editor is your new Docker client communicating with the Engine. You can easily request supported Docker queries of Docker Remote API. Rapid Dashboard was distinguished as a Duke’s Choice Award 2017 Winner in October at JavaOne. The award is one of nine awards issued for the innovative application of Java in 2017.

Installation

Supported tags:

The command below will pull the latest image of Rapid into your local docker host and start a container as daemon listening internally on port 8080 and we need to give access to the host’s Docker daemon by mapping to the Docker socket:

$ docker run -d --name rapid  \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -p 8080:8080 \
  ozlerhakan/rapid

If your docker host runs via docker machine, go into it using $docker-machine ssh and run the command.

then open your browser to http://localhost:8080 or http://<docker-host-vm-ip>:8080, have fun!

In Docker Swarm World, you can run the rapid as a service like below:

$ docker service create --name rapid \
  --mount="type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock" \
  --constraint "node.role == manager" \
  -p 8080:8080 \
  ozlerhakan/rapid

Demo

Try in PWD

Notes

  1. Header Parameters (X-Registry-Auth) are not supported.

  2. Tags ending with arm should work on supported versions of the Raspberry Pi models.

Versions

Docker Version API & Tag Version Changes

17.07.x

1.31, latest

API changes

17.06.x

1.30, latest

API changes

17.05.x

1.29

API changes

17.03.1

1.27

API changes

Editor Shortcuts

Rapid contains the following shortcuts. Any other shortcut suggestions are always welcome.

Windows Mac Detail

Ctrl+D

+D

Duplicate line

Ctrl+Shift+C

++C

Copy the selection as cURL

Ctrl+X

+X

Remove current line

Shift+Enter

+

Start new line

Alt+Shift+Up

++Up

Move line up

Alt+Shift+Down

++Down

Move line down

Ctrl+Mouse_Scroll_Up

+Mouse_Scroll_Up

Zoom in

Ctrl+Mouse_Scroll_Down

+Mouse_Scroll_Down

Zoom out

Ctrl+Alt+H

++H

Show shortcuts

Ctrl+Shift+R

++R

Clear editor

Ctrl+/

+/

Comment/Uncomment with line comment

cURL Details

The following cURL commands are all valid so as to paste them into the command editor. When you paste a valid command, Rapid converts it to a corresponding valid Docker remote query.

curl --unix-socket /var/run/docker.sock \
 -H "Content-Type: application/json" \
 -X POST http:/v1.32/containers/create \
 -d '
 {"Image": "alpine", "Cmd": ["echo", "hello world"]}
 '

curl --unix-socket /var/run/docker.sock -H "Content-Type: application/json" \
  -X POST http:/v1.32/containers/create \
  -d '{"Image": "alpine", "Cmd": ["echo", "hello world"]}'

curl --unix-socket /var/run/docker.sock \
 -H "Content-Type: application/json" \
 -X POST http:/v1.32/containers/create \
 -d '{"Image": "alpine", "Cmd": ["echo", "hello world"]}'

curl --unix-socket /var/run/docker.sock -X GET http:/v1.32/containers/json

curl --unix-socket /var/run/docker.sock -X GET http:/v1.32/images/json

curl --unix-socket /var/run/docker.sock -XGET http:/v1.32/containers/json

curl --unix-socket /var/run/docker.sock -XGET "http:/v1.32/containers/1c6594faf5/logs?stdout=1"

curl --unix-socket /var/run/docker.sock  -H "Content-Type: application/json"  -X POST http:/v1.32/containers/create -d'
 {"Image": "alpine", "Cmd": ["echo", "hello world"]}
 '

curl --unix-socket /var/run/docker.sock  -H "Content-Type: application/json"  -XPOST http:/v1.32/containers/create -d' {"Image": "alpine", "Cmd": ["echo", "hello world"]}'

curl --unix-socket /var/run/docker.sock\
  -X POST "http:/v1.32/commit?container=0888269a9d&repo=helloworld"

The ++C shortcut enables you to convert the selection to the equivalent cURL command and copy it to clipboard.

a selected query from the command editor
POST containers/create?name=mycontainer
{
    "Image": "alpine",
    "Cmd": [
        "echo",
        "hello world"
    ]
}
the equivalent cURL command of the query above
curl --unix-socket /var/run/docker.sock -XPOST "http:/v1.32/containers/create?name=mycontainer" -H "Content-Type: application/json" -d'
{
    "Image": "alpine",
    "Cmd": [
        "echo",
        "hello world"
    ]
}'

Contributing

Any comments/issues/PRs are always welcome!

License

Rapid is released under MIT.

More Repositories

1

mongodb-json-files

📦 A curated list of JSON / BSON datasets from the web in order to practice / use in MongoDB
Shell
647
star
2

poiji

🍬 A library converting XLS and XLSX files to a list of Java objects based on Apache POI
Java
442
star
3

datacamp

🍧 DataCamp data-science and machine learning courses
Jupyter Notebook
298
star
4

mongolastic

🚥 A dataset migration tool from MongoDB to Elasticsearch and vice versa.
Java
137
star
5

deep-learning-notes

🤖 Deep Learning notes and snippets
Jupyter Notebook
26
star
6

java9-module-examples

a list of Java 9 module samples to dive into the modular world
Java
25
star
7

categoric

🎨 [Chrome Extension] Categorizing your mixed GitHub notifications per repository.
JavaScript
12
star
8

aop-metrics

🔎 master thesis: a metrics suite including both aspect-oriented and object-oriented features using Ekeko
Clojure
8
star
9

toci

🗂 markdown tool to create table of content from jupyter notebooks
Python
8
star
10

bikeshare

Analysing bike data from three different cities in the US
Python
7
star
11

aspectj-ebook

📘 AspectJ E-Book (in Turkish)
AGS Script
7
star
12

solring

🔍 A tiny Solr import tool to save records of custom queries from Solr to local storage
Python
7
star
13

pelikan

🦩 A Python tool to create comment-free Jupyter notebooks.
Python
7
star
14

ab-test

A repo that analyzes an A/B test result of an e-commerce website.
Jupyter Notebook
6
star
15

datacamp-projects

A list of data-camp projects I have done
Jupyter Notebook
6
star
16

mongodb-query-examples

Query examples based on a tweets collection by means of MongoDB Java Driver and Spring MongoDB Project
Java
5
star
17

jest

💍 ipython magic tool to make smooth HTTP calls
Python
4
star
18

learn-git-cherry-pick

A repo showing you how to use the basic cherry-pick 🍒 command
4
star
19

keywords_clustering

cluster text data using sentence bert
Jupyter Notebook
4
star
20

registry

docker registry lab
Nginx
4
star
21

java9

Başlıca önemli Java 9 yeniliklerine ait yazılar
Java
4
star
22

markov-chain

A markov chain implementation written with Python
Python
3
star
23

cyber

Jupyter Notebook
3
star
24

jambda-antlr

A concrete example of how to use ANTLR in a Java project
Java
3
star
25

fsm-rocks

FSM Vakif University Workshop
Jupyter Notebook
3
star
26

gapa

a macOS utility to hide folders and files on the Desktop
Python
3
star
27

hello-openshift

Java
2
star
28

engoo

JavaScript
2
star
29

zone

📅 find out what the given time means in your local zone
Java
2
star
30

solr-chrome-extension

A tool for scroll-to-up and display-row-number features
JavaScript
2
star
31

swapur

🚣 Bir butondan daha fazlası, anlayamazsınız.
JavaScript
2
star
32

forest-fires-dataset

2
star
33

eda

Exploratory Data Analysis Samples
Jupyter Notebook
1
star
34

tri

Translate text from English to Turkish
Rust
1
star
35

soccer

Investigate a database
HTML
1
star
36

medium-history

"Reading history" is back to the main page of medium.com
JavaScript
1
star
37

solr-news

A CLI to fetch fresh news from SOLR
Rust
1
star
38

tureng-dictionary

English-Turkish Word Repository
C#
1
star
39

poiji-documentation

JavaScript
1
star
40

hljs-checker

A Chrome extension that allows you to select/deselect all the available languages located in the 'Other' section on
JavaScript
1
star