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
Install Portainer in Linux – Docker Web UI
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:
Step 1: Create data directory
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-ce:latest
latest: Pulling from portainer/portainer-ce
772227786281: Pull complete
96fd13befc87: Pull complete
89356dd0f288: Pull complete
9ff1f79510e7: Pull complete
Digest: sha256:b8573c23e98eb3dc3a59644c15d1c1448f5281ac7972faf996fce24b7511fda6
Status: Downloaded newer image for portainer/portainer-ce:latest
docker.io/portainer/portainer-ce:latest
Step 3: Run portainer docker container
With everything already configured, let’s start the container:
docker run -d -p 8000:8000 \
-p 9443:9443 \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/portainer:/data \
--name portainer \
portainer/portainer-ce:latest
If you require SELinux, you will need to pass the --privileged
flag to Docker when deploying Portainer.
Container ID is returned if the container is started successfully:
116fe2a36bc0515f4c424308d726479c1a0899156ada0058ccb53f1ae619393f
Check status of the container:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
117537d2a422 portainer/portainer-ce:latest "/portainer" 5 seconds ago Up 4 seconds 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9443->9443/tcp, :::9443->9443/tcp, 9000/tcp portainer
By default, Portainer Server will expose the UI over port 9443
and expose a TCP tunnel server over port 8000
. The latter is optional and is only required if you plan to use the Edge compute features with Edge agents.
Step 4: Access Portainer Web Interface
Access the Web dashboard on https://SERVER_IP_OR_HOSTNAME:9443/
You’ll be asked to create an admin user and provide a password, then click create user.
You’ll then be asked to add container environment, this can be Docker, Kubernetes or Portainer Agent. For my case, I’m using it to manage local docker engine.
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.
Clicking on the engine section will give you all the information you need to know about your 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.
Ref: Portainer Official Documentation
Tags:
- How to deploy docker web UI
- How To manage Docker from a web interface