Quick deploy
Deploying a container image takes just a few steps since you’re skipping the build process entirely.Specify your image
From the Porter dashboard, navigate to your project and click Create Application. Porter defaults to the GitHub deployment flow. To deploy from a container registry instead, click Or, deploy from a container registry in the top right.
- Docker Hub:
docker.io/username/imageor justusername/image - Amazon ECR:
123456789.dkr.ecr.us-east-1.amazonaws.com/my-app - Google Artifact Registry:
us-docker.pkg.dev/project-id/repo/image - Azure Container Registry:
myregistry.azurecr.io/my-app
latest, a semantic version like 1.2.3, a git commit SHA, or any tag you’ve pushed to your registry.

Review your application
Once you’ve entered both the image URL and tag, Porter creates an application configuration for you. The application name is derived from your image name. Deployingdocker.io/myorg/api-server:v2.1 creates an application called api-server.

Deploy
Once the application is created, you can review the app’s start command and port, and click the configure button (gear icon) on the card to see other pre-configured values. When ready, deploy using the Deploy button.
Customizing your deployment
Since Porter isn’t building your image, configuration focuses on how to run your container rather than how to build it.Understanding the container registry flow
When you deploy from a container registry, Porter:- Pulls your specified image from the registry
- Runs it with your configured services, resources, and environment
- Manages scaling, health checks, and networking
Private registry authentication
If your image is in a private registry that requires authentication, you’ll need to configure credentials. How you do this depends on your registry type.Cloud provider registries
For ECR, GAR, and ACR, Porter handles authentication automatically when your cluster runs in the same cloud provider. Your cluster’s service account has permission to pull images from registries in the same account or project. If you’re pulling from a registry in a different account, or if automatic authentication isn’t working, you can configure credentials through Porter’s integrations settings or by adding image pull secrets to your cluster.Docker Hub and other registries
For Docker Hub private repositories or other registries requiring authentication, your credentials need to be configured as a Kubernetes image pull secret at the cluster level. Reach out to us to set this up for your cluster.Using an authenticated registry that isn’t your cloud provider’s native registry (such as GitHub Container Registry or a self-hosted registry) requires additional manual configuration, including creating an ImagePullSecret and referencing it in your deployment.
Configuring services
A Porter application consists of one or more services—web services for HTTP traffic, workers for background processing, and jobs for scheduled tasks. By default, Porter configures a single web service. For a complete guide to service types, resource allocation, networking, environment variables, health checks, and more, see Services.Updating your application
When you push a new image tag to your registry, Porter doesn’t automatically deploy it. You have two options for triggering updates.Manual updates
From your application’s dashboard in Porter, you can change the image tag to deploy a different version. This is useful for one-off deployments or rollbacks.
CLI updates
For automated deployments, use the Porter CLI to update your application’s image tag:APP_NAME with your application name in Porter and TAG_NAME with the new image tag you want to deploy.

