Have you been looking for an open source Docker UI management tool?. Here I’ll introduce you to Portainer, which a Simple management UI for Docker containers, images, services e.t.c.

Portainer is a lightweight Docker management UI which allows you to easily manage your different Docker environments (Docker hosts or Swarm clusters). Portainer is deployed as a Docker container on any Docker engine running on Windows, macOS or Linux system.

What Portainer can do

  • Manage Docker images – pull, delete, Build
  • Quickly deploy applications from app templates
  • Manage containers – start, stop, kill, restart, pause, resume, remove, create
  • Manage networks – add, remove, edit
  • Manage Volumes – add, remove, manage permissions
  • Check docker engine events
  • Add custom docker registry and add authentication for docker hub
  • Create endpoints
  • Add users to manage Docker
  • Manage Docker swarm
  • Create custom container templates

Deploy Docker Web UI Administrator – Portainer

Some prerequisites are:

  • Docker engine running on target host – Can be local or remote
  • Linux, macOS or Windows docker host machine
  • Internet connection to download Portainer docker image

If you don’t have Docker installed and running, use our guides  below:

How to install Docker CE on Ubuntu / Debian / Fedora / Arch / CentOS

Step 1: Create a directory on the host system to persist container data

To persist docker container data, let’s create a directory that will hold all Portainer data.

$ mkdir ~/portainer

You can specify any other directory you wish to use.

Step 2: Pull portainer docker image from docker hub

Let’s now download the image from Docker hub and store it locally on docker host.

$ docker pull portainer/portainer
Using default tag: latest
latest: Pulling from portainer/portainerd1e017099d17: 
Pull complete 84edb4fad689: Pull complete 
Digest: sha256:c7d065f721266e24342f1b2d6fa6e5b451a0057f55df1a62dbf4d4513b629c8d
Status: Downloaded newer image for portainer/portainer:latest

You can tag the image and give it a custom name

$ docker tag portainer/portainer portainer

Step 3: Run portainer docker container

With everything already configured, let’s start the container:

$ export CONT_NAME="portainer"
$ docker run -d -p 9000:9000 \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/portainer:/data \
--name ${CONT_NAME} \

Step 4: Access the Web Interface

Access the Web dashboard on

portainer ui

You’ll be asked to create an admin user and provide a password, then click create user.  

You’ll then be asked to add Docker environment, this can be local Docker engine or remote. For my case, I’m using it to manage local docker engine.

portainer environment

You’ll be directed to  Portainer dashboard where you can start managing Docker engine operations from a web UI. The default section has a summary of the number of containers, docker version, volumes, networks e.t.c.

portainer dashboard overview

Clicking on the engine section will give you all the information you need to know about your Docker engine.

portainer docker engine

Another interesting section is the App Templates. Portainer tries to make deployment of applications on Docker containers easy by providing a number of templates ready to use. This is available for both Windows and Linux. You can search and deploy container within no time.

portainer app templates

Ref: https://portainer.readthedocs.io/en/latest


  • How to deploy docker web UI
  • How To manage Docker from a web interface

Your support is our everlasting motivation,
that cup of coffee is what keeps us going!

As we continue to grow, we would wish to reach and impact more people who visit and take advantage of the guides we have on our blog. This is a big task for us and we are so far extremely grateful for the kind people who have shown amazing support for our work over the time we have been online.

Thank You for your support as we work to give you the best of guides and articles. Click below to buy us a coffee.


Please enter your comment!
Please enter your name here