Using containers for development is not a new thing. Almost everybody uses it because of its ease of handling software dependencies. But the time will come when you will have so many containers that it's getting harder and harder to manage them. VSCode does have a great Docker plugin where you can see your containers, images, registries, networks, and volumes but its functionality is limited. The same applies to Docker Desktop. It's easy to stop or delete a container but what about such a simple thing as renaming it. You can of course do it in the command line but some functions, such as deleting takes multiple lines of code. That's why I started searching for another solution. And I found it! It's called Portainer. 👋
Portainer is a universal container management tool. It works with Kubernetes, Docker, Docker Swarm, and Azure ACI. And it's open-source. 👍
Portainer handles the easy tasks as easy as the more complex ones. While this article is mainly focused on Docker, Portainer can handle much more advanced tasks like Kubernetes clusters.
Getting Portainer up and running is as easy as starting a new container. Simply create a named volume for your data and run the container.
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart=always -v \\.\pipe\docker_engine:\\.pipe\docker_engine -v portainer_data:/data portainer/portainer-ce
Once it's up and running you can access the web interface at: http://localhost:9000/
Setup the admin user and connect to Docker.
And you're done! It's that simple. 🎉
Start exploring Portainer. The interface is simple and easy to use. Check your volume locations or your network IPs without using additional Docker containers.
Have fun using Portainer! 🐳