GitHub Container Registry (GHCR) is a powerful platform for hosting and managing container images. You can store and manage Docker in the Container registry.
Before you begin, make sure you have the following:
- A GitHub account
- A Docker image that you want to publish to GHCR
- Docker installed on your local machine
To deploy image from GitHub Container Registry (GHCR) to Salad Portal, follow these steps:
Step 1 : Create a Personal Access Token (PAT)
- Go to your GitHub Settings page.
- In the left sidebar, click on "Security & admin."
- Under "Personal access tokens," click "Generate new token."
- Provide a descriptive name for your token and select the packages:write permission.
- Click "Generate token" and make sure to copy the generated PAT to a safe place. You won't be able to see it again.
You can authenticate to GHCR using either the Docker CLI or the GitHub CLI.
- Authenticate using the Docker CLI: Open your terminal and run the following command, replacing your_username and your_PAT with your GitHub username and the PAT you generated:
docker login ghcr.io -u your_username -p your_PAT
- Authenticate using the GitHub CLI : If you prefer using the GitHub CLI, run this command and replace your_PAT with your PAT:
gh auth login --with-token your_PAT
To prepare your Docker image for GHCR, you need to tag it with the appropriate name. Replace your_image, your_username, your_repo, and tag_name with your image's name and your GitHub information:
docker tag your_image ghcr.io/your_username/your_repo:tag_name
Now that your image is tagged correctly, you can push it to GHCR:
docker push ghcr.io/your_username/your_repo:tag_name
Access the Salad portal and configure your SCE with the following information:
- Username and Personal Access Token that we generated in the beginning.
- Image name from your private registry.
With all configurations in place, click the "Start" button in the Salad portal to launch your container using the private Github registry image.
Your container is now up and running, utilizing the image stored securely in your private Github container registry.
Updated 23 days ago