Portainer
{{@9#bkmrk-callout-danger-NoResponsibilityDisclaimer-5wod5ufe}}
Introduction
Portainer's hybrid & multi-cloud container management platform supports Kubernetes, Docker, Swarm in any Data Center, Cloud, Network Edge or IIoT Device.
Requirements
The following requirement(s) assumes that the container/app will not be internet/public facing:
- Docker Host (e.g. Linux).
- Docker Engine.
Deployment
Via CLI
Docker CLI
- Create the volume for the Portainer database:
sudo docker volume create portainer_data - Install Portainer:
sudo docker run -e "America/Chicago" -d -p 8000:8000 -p 9443:9443 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
Via Docker Compose (Preferred)
Using the non-root user account, create a ~/portainer/docker-compose.yml file:
sudo mkdir -p ~/portainer && sudo vim ~/portainer/docker-compose.yml
Enter the following content in the docker-compose.yml file:
---
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: always
ports:
- 8000:8000
- 9443:9443
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
volumes:
portainer_data:
external: true
Post Deployment
Login
- Visit the Portainer URL to create the initial administrator user:
URL https://<ip>:9443 or https://<hostname>:9443 - Change user information as needed, such as your User/Email and Password.
Update via CLI
If Portainer was set up using the CLI, use this update method.
- Stop the Portainer container.
sudo docker stop portainer - Remove the Portainer container.
sudo docker rm portainer - Get the Portainer image id:
sudo docker image ls | grep portainer - Remove the Portainer image using the image id from the previous step:
sudo docker image rm xxxxxxxxxxxxOR
sudo docker rmi -f $(sudo docker images --format '{{.Repository}}:{{.Tag}}' | grep 'portainer') - Run the following command to create a new container from pulled image:
sudo docker run -d -p 8000:8000 -p 9443:9443 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
Update via Docker Compose
If Portainer was set up using docker compose, use this update method.
- Navigate to
~/portainer:
cd ~/portainer - Stop the container:
sudo docker compose stop - Pull the new image:
sudo docker compose pulldocker-compose up -d --pull always - Start the container:
sudo docker compose up -d - Prune unused images:
sudo docker image prune -f
Royal TS Key Sequence Task (Upgrade)
{{@9#bkmrk-callout-warning-UniqueToMarthursHomelab-uy8gtmxc}}
Royal TS provides easy and secure access to remote systems. It allows the use of "Key Sequence Tasks" to automate jobs. I've included the follow key sequence tasks to automate the upgrade process.
sudo docker stop portainer{ENTER}{WAIT:3000}
sudo docker rm portainer{ENTER}{WAIT:3000}
sudo docker rmi -f $(sudo docker images --format '{{.Repository}}:{{.Tag}}' | grep 'portainer')
sudo docker run -d -p 8000:8000 -p 9443:9443 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
Sources
- docs.portainer.io - Install Portainer with Docker on Linux
- digitalocean.com - How to Remove Docker Images, Containers, and Volumes
KB Change/Issue Log
yyyy/mm/dd - Title
Issue
N/A
Solution
N/A
KB Meta
| Page Includes | @9#bkmrk-callout-danger-NoResponsibilityDisclaimer-5wod5ufe |