Portainer is a management UI for Docker that simplifies Docker usage and provides visibility into Docker environments. It was created to address the complexity of Docker for operations teams. Portainer provides a clean interface that exposes Docker functions without CLI complexity. Since its creation in 2016, Portainer has grown significantly in users and features. Upcoming features will expand Portainer to provide overarching management of infrastructure supporting Docker environments.
2. WHAT IS PORTAINER.IO
To put it bluntly, Portainer is a Management UI
for Docker that...
Makes Docker easy to use, easy to manage,
easy to support, and easy to scale
Provides true visibility into the operational
management of the Docker environment
3. WHY DID WE CREATE PORTAINER.IO
Complexity
Easy to
consume
Easy to
manage
Docker
The Law of IT Complexity
Good for
Dev’s; Bad
for Op’s
Good for
Op’s; Bad
for Dev’s
THIS IS WHY
4. OUR UI..
Clean, Simple, yet Powerful UI that exposes near all the functions
of the Docker CLI without the complexity of having to actually
remember pesky CLI commands
5. USER FEEDBACK
Through a maniacal focus on
simplification; Portainer.io has
redefined the Docker UX, and as a
result, made Docker usable by a far
greater percentage of the market
The entire user experience is
developed by technologists, not
programmers
https://www.reddit.com/r/docker/comments/5ked5
q/portainer_docker_incs_next_acquisition/
https://media-glass.es/portainer-the-ui-for-docker-
d067f6335f23#.mc1m3v3av
https://cntnr.io/putting-a-ui-around-docker-
with-portainer-c8ba07874f9d#.jnps1f8dp
https://www.youtube.com/watch?v=ZrEllm
XDiwo
6. GROWTH
Since October 2016
7,700 Stars on GITHUB
300 Million Docker Hub Pulls (~1M/day
now)
44,000 active users on any given week
520 Stars on Docker Hub
100 Contributors
1633 Twitter Followers
Used in 117 Countries (of 196!)
8. LAUNCHING PORTAINER
At its most simple..
Docker run –d –p 9000:9000 –v /var/run/docker.sock:/var/run/docker.sock –v
portainerdata:/data portainer/portainer
9. DASHBOARD
One screen view of
the selected Docker
environment
Quick link to cluster
visualizer
10. TEMPLATES
Curated List (or you can
replace our list)
Can enable linuxserver.io
One Click Deployment
Opinionated for simplicity
Advanced Mode available
Containers and Stacks
Windows and Linux
11. STACKS
Deploy new Stacks
Paste in Compose File
Upload a Compose File
Point at a git hosted compose file
Supports git authentication
Add environment variables
Edit a Stack
In-line changes
Apply to update
12. SERVICES
Deploy & Edit Swarm Services
Scheduling Mode
Replica Count
Port Mapping
Volume Mapping
Logging
Placement Constraints
Resource Constraints
Secrets/Configs
Update and Restart Policies
Inspect a Service
Service Logs
Update Service
13. CONTAINERS*
Create Containers
(Note, NOT swarm aware!!)
Inspect Containers
Monitor Performance
View Logs
Open Console
Inspect Config
Save a Container as an image
Recreate Containers
Stop, Save Config, Delete, Pull,
Deploy with old config
Edit Containers
Stop, Save Config, Delete, Pull,
Deploy with old+new config
14. IMAGES
Pull Images from a Repository
Delete an Image
Tag/Retag an Image
Push Image to a Repository
Display/Filter by Used/Unused
Create/Build an Image
Paste content of Dockefile
Upload a Dockerfile
URL for Dockerfile
Note that all ADD/COPY must use
wget
15. NETWORKS
Create new Networks
Built-in or Plug-ins Supported
Restrict Access Externally
Remove Networks
Disconnect Containers from a
Network
16. VOLUMES
Create new Volume
Built-in or Plug-ins Supported
Driver Options Supported
List / Filter by unused
Delete unused
Bulk Delete
17. CONFIGS AND SECRETS
Create Configs
Attach Labels
Create Secrets
Encode Secrets
Both Secrets and Configs are
CREATE only, there is no Edit
function
18. CLUSTER MANAGEMENT
Total Cluster Capacity
Node Actions
Place Nodes into Maintenance
(Pause, Drain, Active)
Apply Labels
Visualize all Nodes in your
cluster
Show assigned workloads
(service tasks)
Colors represent a Service
19. USER MANAGEMENT
Create Users or Admins
Assign Users to Endpoints
Create Teams
Assign Team Leaders
Assign Team Members
Assign Team to Endpoints
Connect Portainer to LDAP
LDAP for Password Auth only
Username in Portainer must
match username in LDAP
Active Directory or LDAP
supported
20. USER ACCESS CONTROL
Assign Users and Groups to
specific endpoints
No assignment means no
access
21. ENDPOINTS (AKA DOCKER ENVIRONMENTS)
Create New Endpoints
Endpoint is either a Docker
Engine (standalone) or Swarm
Manager
Local Endpoint can only added
when Portainer first started (bind
mount Docker Socket)
Remote Endpoints can be
added at any time
Requires Docker Daemon to be
exposed via TCP, using TLS or
not
Public IP used for hyperlinks on
Container page
22. REGISTRIES
Add Authentication to Docker
Hub
Credentials added by Admin
are reused by ANYONE using
this Portainer instance –
credentials cannot be seen
Add an external registry
Insecure Only (no TLS)
Authentication Supported
23. SETTINGS
Important Security Options
Disable Bind Mount and
Privileged Mode for non
admins
Custom Templates YML
(override our curated list with
your own)
Hide Certain containers from
being shown in Portainer
Enable LDAP Auth
27. HOW
It all starts with a Portainer AGENT
A micro-container that runs on every
Docker Host (global swarm service)
Enables a single view of everything
Enables secure remote access to
Docker Hosts without having to
expose the Docker Daemon
Releasing
soon
28. EXPANDING
With a centralized UI, we can then..
• Manage Shared Storage for Container Persistence (in BETA now)
• Manage Underlying and Overlay Networks
• Build and Scale Docker Hosts (ala machine)
• Manage Secure Registries
• Monitor Container and Cluster Performance / Availability
• Manage Reverse Proxies / Load Balancers
• Provide fine-grained Access control into the Docker environment
• Control who can publish what to where
• Abstract the deployment specifics; deploy Docker to anywhere, we take care of
managing the infrastructure
• Create logical groups of Swarm Clusters, and enable management at the group
level
29. MANAGING STORAGE - BETA
Using Storidge.com, you can
create hyper-converged storage
environments using the local disks
in your Docker Hosts
• Managed from WITHIN Portainer UI
• Creates a single virtual pool of replicated
storage, used for persistent volume store
• IOPS / Throughput Assurance through
reservations
• Enforce persistent volume capacity limits
30. PORTAINER SUPPORT
Donations Welcome
Contributors Welcome
Paid Development Assistance (we pay you to create a feature for us)
Commercial Support
24x7, 4 Hour Response, Per Docker Host - $100p/a (up to 4 named support staff)
Per Additional Support Person - $25 per Host
24x7, 4 Hour Response, Per Portainer Instance, $1200p/a (up to 4 named support
staff, unlimited Docker Hosts)
Per Additional Support Person - $300 per Portainer Instance