Access private docker registry in browser - browser

I have a private docker registry like myregistry.com:5000. I can push and pull images in client and it is working fine. But when I go to https://myregistry.com:5000/v1 in browser, I get error 404 page not found. Is there any way to access registry in browser?

The url should be https://myregistry.com:5000/v2.
But regarding UI, you have several projects dedicated to browse a docker registry, like:
kwk/docker-registry-frontend,
Portus (suse)
other referentials (like Nexus or GitLab)

The registry:2 image doesn't have a Web UI - it's not a local version of Docker Hub, it just has the core registry functionality and the REST API.
You can query the API directly:
> curl http://localhost:5000/v2/_catalog
{"repositories":[]}
If you want a Web UI like the Hub, try Docker Trusted Registry.

Related

How to use webhook on Azure App service in Single Container mode

I created Azure App Service. I choosed "single container" and used "Private Registry".
I filled my private docker hub, credentials, username & password and my site is running my docker image website well.
Now I want to use NEW image with newer tag. I noticed, there is a "webhook" functionality but I dont know how to use this webhook. I thing, that this webhook can be used to pull newer image from my registry but I dont know how to use it.
If this is not the meaning of this web hook, what is the best practise to PULL new container to web app service.
Note: I am not using Azure Container registry. I have my own private hub. And I want to use Jenkins to deploy new container.

How to modify Docker container configuration of Azure?

These pics show my process of deployments on Azure Docker with Eclipse IDE.
The problem is I have no idea how to modify Wildfly Docker configuration. For example, Datasource JNDI and undertow setting of Wildfly AS in Docker container.
You can configure the Docker container as follows:
Predefined Docker image: Specifies a pre-existing Docker image from Azure.
[!NOTE] The list of Docker images in this box consists of several images that the Azure Toolkit has been configured to patch so that your artifact is deployed automatically.
Custom Dockerfile: Specifies a previously saved Dockerfile from your local computer.
[!NOTE] This is a more advanced feature for developers who want to deploy their own Dockerfile. However, it is up to developers who use this option to ensure that their Dockerfile is built correctly. The Azure Toolkit does not validate the content in a custom Dockerfile, so the deployment might fail if the Dockerfile has issues. In addition, the Azure Toolkit expects the custom Dockerfile to contain a web app artifact, and it will attempt to open an HTTP connection. If developers publish a different type of artifact, they may receive innocuous errors after deployment.
For more details, refer https://github.com/Azure/azure-docs-sdk-java/blob/master/docs-ref-conceptual/eclipse/azure-toolkit-for-eclipse-publish-as-docker-container.md.

Web App for Containers - Kudu omitting Docker Login

We use Web App for Containers to operate Docker containers hosted on our Azure registry. This web app has been configured to pull the latest changes from the registry which in turns has lead to the creation of the following env variables:
DOCKER_REGISTRY_SERVER_URL
DOCKER_REGISTRY_SERVER_USERNAME
DOCKER_REGISTRY_SERVER_PASSWORD
DOCKER_ENABLE_CI
All values are correct and in the first place the Docker based setup worked well for us. Since monday, however, Kudu is longer able to pull docker images from our registry (neither from any registry that requires auth at all). The Kudu log is:
docker pull returned STDERR>> Error response from daemon: Get OUR_REGISTRY: unauthorized: authentication required
which suggests that Kudu is omitting the required Docker login call. Has anyone observed the same behaviour or is aware of Azure changes that require any adoption form our site. Thanks!
What we have tried so far:
creating a new registry
creating a new web app
creating a new service plan
restarting/stopping the web apps

Deploying a Docker Image from Azure Container Registry

I have pushed a working docker image to Azure Container Registry. I followed this tutorial to deploy it as a web application.
I followed the steps and it created a new web application, but it does not contain any files other than default Azure html that says Your App Service app is up and running. I am trying to figure out what went wrong. I checked the Activity logs and it says nothing. I checked the debug console <my-site>.scm.azurewebsites.net, and it does not contain any of the Docker Image files. How can I check what went wrong during the deployment?
Here is what I did.
I created a docker image, let's just call it my-image.
I checked it is working fine on my local machine.
I created a new tag to push the image to acr, docker tag <my-image_id> my-acr-username.azurecr.io/my-image.
Then I pushed it to acr, docker push my-acr-username.azurecr.io/my-image
I checked the acr repository to verify if it is pushed successfully.
Then I followed the above mentioned tutorial to deploy the image.
P.S. I am using Windows Containers.
I was using Windows Containers, and it turns out that Azure does not have a support for it yet. Unfortunately, it does not give you any errors or warnings if you try to deploy Windows Container. It simply doesn't work, and the user wonders what went wrong...
Here is my issue on their deployment engine Kudu.

Azure App Service + Docker Autodeploy?

I have setup an Azure App Service to host a docker container. This is all running fine -- pointing at a private Docker repository/image, using the latest tag.
I would like to be able to publish a new Dockage image from my CI server to the Docker repository under the latest tag and somehow trigger the App Service to pick up that there is a change of the latest image.
It seems I can trigger the change by modifying an Application Setting on the App Service and saving it -- but this does not seem like the correct way to handle it.
Is there a best practise for this kind of deployment?
In the properties section of the web app you'll find a DEPLOYMENT TRIGGER URL.
This URL should point to the /deploy endpoint. Remove that part and use the /docker/hook endpoint.
Your URL should look something like this: https://xxxx.scm.azurewebsites.net/docker/hook
If you POST to that URL with empty body it will trigger a deployment using the latest docker image.
Currently they are working on a solution for this scenario but as stated in their FAQ about Web App on Linux either modifying the application settings or restarting the web app is the only way of triggering the change.

Resources