Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Leverage Your Docker Remote Queries Using Rapid Dashboard

DZone's Guide to

Leverage Your Docker Remote Queries Using Rapid Dashboard

Learn how to integrate Rapid Docker Interface, a dashboard that allows you to request supported Docker queries of the Docker Remote API.

· Integration Zone
Free Resource

Modernize your application architectures with microservices and APIs with best practices from this free virtual summit series. Brought to you in partnership with CA Technologies.

Rapid Docker Interface provides a connection between Docker queries and your Docker Host. Rapid changes the way of using the 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 the Docker Remote API.

Image titleWe make use of Java 8, JAX-RS, and React in order to implement the Rapid Dashboard.

Installation

Supported tags:

The command below will pull the latest image of Rapid into your local Docker host and start a container as a daemon listening internally on port 8080. 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 a 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!

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.05.x

1.29, latest

API changes

17.03.1

1.27

API changes

1.13.1 & 17.03.0

1.26

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.26/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.26/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.26/containers/create \
 -d '{"Image": "alpine", "Cmd": ["echo", "hello world"]}'

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

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

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

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

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

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

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

The ++C shortcut enables you to convert the selection to the equivalent cURL command and copy it to the 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.26/containers/create?name=mycontainer" -H "Content-Type: application/json" -d'
{
    "Image": "alpine",
    "Cmd": [
        "echo",
        "hello world"
    ]
}'

Any comments/issues/PRs are always welcome. The code is at https://github.com/ozlerhakan/rapid.

The Integration Zone is proudly sponsored by CA Technologies. Learn from expert microservices and API presentations at the Modernizing Application Architectures Virtual Summit Series.

Topics:
docker ,react ,java 8 ,integration

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}