I found Portainer to be just what I needed to manage the containers of my small Docker servers. You can install it easily as a container running on the same Docker server that you want it to manage.
Setting Portainer up
To install it, you first need to create a volume so that it can store your accounts and preferences:
sudo docker volume create portainer_data
Then you can deploy the container using the official Portainer image (please note that in the following command, I removed the -p 8000:8000
port mapping as I will only be using the HTTPS protocol to connect to it):
sudo docker run -d -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
Now, you can visit though https
(under port 9443
) the deployed Portainer app to create an admin account. For example, if your server is located at 10.10.1.30
, you can access Portainer at:
https://10.10.1.30:9443/
Please note that your browser will not trust the certificate, thus you will have to “Accept the risks” and proceed.
Updating Portainer
Updating Portainer to the latest version is relatively simple. First, you will have to pull the latest version of the container using:
sudo docker pull portainer/portainer-ce:latest
Then you can just recreate the container without deleting the volume holding your configuration:
sudo docker stop portainer
sudo docker rm portainer
sudo docker run -d -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
As simple as that! 🙂