[[docker-tools]]
== Docker Tools

=== General

==== Dockerfile Editor

The 'Dockerfile Editor' provides users with content
assist on the commands (`ADD`, `COPY`, `RUN`, etc.) as well as a customizable
syntax highlighting.

image::images/Dockerfile-editor.png[]

==== Executing shell in a container

Users can be given access to a shell environment within the container
even if the container has a service running in the foreground. This is
particularly useful for examining the container, and for debugging
purposes.

image::images/Docker-exec-shell.png[]

==== Running privileged containers

Containers can be run with the `--privileged` flag, which gives them
extended privileges, such as accessing all devices, and allowing them
nearly all the same access to the host as regular processes running on
the host (i.e., not in containers).

image::images/Docker-privileged-option.png[]

==== Supporting disconnections

Sometimes the Docker instances that were configured in Eclipse are not
running anymore (the Docker Machine is stopped, for example). In that
case, the _Docker Explorer_ view will display a different decorator for
those connections, and an "Enable connection" button in the toolbar will
let the user reconnect.

image::images/Docker-disabled-connection.png[]

==== Editing connection settings

A new wizard lets the user edit the connection name, and settings. This
is particularly useful when the connection belongs to a Docker Machine
whose IP address changed upon restart.

image::images/Docker-edit-connection.png[]

==== Pushing/Pulling/Searching for Authenticated Registries

Support now exists for performing actions upon Docker registries using
authentication credentials. Users can simply set their credentials in
the workspace preference page (_Docker/Registry Accounts_).

image::images/Docker-registry-accounts.png[]

These credentials may be accessed through the _Registry/Account_ combo box
in the _Push/Pull Wizards_. The location of a registry can also be entered
manually if it doesn't require any credentials.

image::images/Docker-account-pull-image.png[]
