How To

Deploying from Docker Hub on PipeOps

Overview

PipeOps makes it easy to deploy applications either from a connected Git repository or directly from a container registry. In addition to Git-based deployments, PipeOps now supports deploying container images from:

  • Docker Hub
  • Amazon Elastic Container Registry (Amazon ECR)
  • GitHub Container Registry (GHCR)

This guide focuses on deploying an application from Docker Hub using the public nginxdemos/hello image. The same workflow applies to other public Docker Hub images. If you're deploying a private image, you'll need to authenticate your Docker Hub account before selecting the image.

Prerequisites

Before you begin, ensure you have:

  • A PipeOps account (sign up if you don't have one at pipeops.io)
  • A Docker image available on Docker Hub.
  • The image name and tag you want to deploy.
  • A Docker Hub account (only required for private images).

Step 1: Sign in to PipeOps

Log in to your PipeOps account and navigate to the project where you want to deploy your application. https://docs.pipeops.io/docs/getting-started/user-registration

Image 1

Step 2: Create a New Deployment

From your project dashboard, click New at the top right, then in the dropdown, click Deploy Project to begin creating a new deployment.

Image 2

At the deploy-project page, choose Container Registry

Image 3

Step 3: Deploy from Container Service

By default, the deploy from container service shows Docker Hub, you can change it by clicking on the dropdown

PipeOps also supports Amazon ECR and GitHub Container Registry (GHCR), but for this guide we'll deploy an image hosted on Docker Hub.

Image 4

Step 4: Choose Your Docker Image

PipeOps supports deploying both public and private Docker Hub images.

Deploying a Public Image

For this tutorial, we'll deploy the public nginxdemos/hello image.

  1. Enter nginxdemos/hello in the search bar.
  2. Select the image from the search results.
  3. Choose the latest tag (or another tag if preferred).

Public images can be deployed without connecting your Docker Hub account.

Image 5

Deploying a Private Image

If you're deploying a private Docker Hub image:

  1. Click the dropdown
  2. Click private registry
  3. Authenticate with your Docker Hub account by inputting name, type, username and password
  4. After authentication, PipeOps will display the private repositories your account has access to.
  5. Select your repository and choose the image tag you want to deploy.

Note: You only need to authenticate your Docker Hub account once. After it's connected, you'll be able to access your private repositories for future deployments.

Image 6

Image 7

Step 5: Configure Your Project Summary

After selecting your image, you have your project summary page, Enter a project name, , adjust the resources (CPU and memory), choose your environment, choose your server and also view the project source (in this case, the project source is Docker Hub).

Once you are satisfied with your project summary, click Proceed Image 8

Depending on your deployment, you may need to configure:

  • Project name
  • CPU and memory allocation

Step 6: Configure your Project Build Settings

At the project build settings, you have five main parts; Image Source, Networking, Lifecycle Command, Storage Mounts, and Environment Variables.

Image 9

Image Source: This is basically an information about your image, you do not need to touch or modify anything there, unless you want to change the tag which you just need to click the tag dropdown and select the tag you want.

Image 10

Lifecycle Command: This is where you configure commands that run during different phases of your deployment process. We do not need it in this case

Image 11

Networking: Here you have the generate domain, custom domain and TCP proxy. Since we are deploying an image, we need to click generate domain (if you have a custom domain, you can click custom domain, after clicking on generate domain, you enter the port of your image (for Docker Hub image, always check the Docker Hub for the port you need to expose). In this case, the port is 80 for our nginxdemos/hello image. After inputting the port, click Generate Domain and you should have something like straight-smile.pipeops.app (yours will have a different name but will always ends with ".pipeops.app" unless you are using a custom domain

Image 12

Storage Mounts: This is where you add persistent storage volumes for your container. This is useful for databases and other stateful applications but since this is a basic stateless application, we do not need to add mount any storage here

Image 13

Environment Variables: If your application requires environment variables, add them under the Environment Variables section, you can add in bulk or single env.

The nginxdemos/hello image used in this guide doesn't require any environment variables, so you can proceed to the next step.

For other applications, you might configure variables such as:

VariableExample
PORT8080
DATABASE_URLDatabase connection string
API_KEYYour API key

Always avoid storing sensitive values directly in your Docker image.

Image 14

Step 7: Review and Deploy

Review your deployment configuration, including:

  • Selected Docker image
  • Image tag
  • Service configuration
  • Environment variables
  • Networking settings

If everything looks correct, click Deploy Project.

Image 15

Step 8: Monitor the Deployment

PipeOps will begin pulling the selected Docker image from Docker Hub and deploying your application.

You can monitor the deployment progress from the deployment logs. Once the deployment completes successfully, a modal will pop up telling you your project has been deployed successfully.

Image 16

Image 17

Step 9: Access Your Application

After your deployment is complete, PipeOps generates a public URL for your application.

Open the URL in your browser. If you followed this guide using the nginxdemos/hello image, you should see the NGINX Hello page, confirming that your application has been deployed successfully.

From the service dashboard, you can see:

  • The deployment logs.
  • Monitor resource usage.
  • See Metrics and history
  • Settings where you can configure your custom domain, scale your application, redeploy using a newer tag image etc.
  • The events

click the Live URL at the top right to see the nginx hello demo image running

Image 18

Image 19

Troubleshooting

Image Not Found

  • Verify that the image name is correct.
  • Confirm that the selected tag exists.
  • Ensure the image has been pushed to Docker Hub.

Unable to Access a Private Image

  • Verify that you've signed in to the correct Docker Hub account.
  • Confirm that the account has permission to access the repository.
  • Reconnect your Docker Hub account if the authentication has expired.

Container Fails to Start

  • Review the deployment logs for errors.
  • Verify that the application is listening on the configured container port.
  • Ensure all required environment variables have been configured.

Application Is Not Accessible

  • Confirm that the correct port is exposed.
  • Verify that the deployment completed successfully and you get a modal telling you your project has been deployed successfully

Next Steps

Congratulations! You've successfully deployed a Docker Hub image on PipeOps.

You can now continue by:

  • Deploying applications from private Docker Hub repositories.
  • Deploying images from Amazon ECR or GitHub Container Registry (GHCR).
  • Configuring custom domains.
  • Scaling your application.
  • Monitoring your application's health and logs from the PipeOps dashboard.
A

Abdulwahab Abdulsomad

August 12th 2026

PipeOps is the fastest and easiest way to go live in production on your AWS, GCP, or Azure.