Deploy Image From Container Registry To Container Service Orchestrator (Java)
Azure Container Registry sample for deploying a container image to Azure Container Service with Kubernetes orchestration.
- Create an Azure Container Registry to be used for holding the Docker images
- If a local Docker engine cannot be found, create a Linux virtual machine that will host a Docker engine to be used for this sample
- Use Docker Java to create a Docker client that will push/pull an image to/from Azure Container Registry
- Pull a test image from the public Docker repo (tomcat:8) to be used as a sample for pushing/pulling to/from an Azure Container Registry
- Create a new Docker container from an image that was pulled from Azure Container Registry
- Create a SSH private/public key to be used when creating a container service
- Create an Azure Container Service with Kubernetes orchestration
- Log in via the SSH client and download the Kubernetes config
- Create a Kubernetes client using the Kubernetes config file downloaded from one of the virtual machine managers
- Create a Kubernetes namespace
- Create a Kubernetes secret of type "docker-registry" using the Azure Container Registry credentials from above
- Create a Kubernetes replication controller using a container image from the Azure private registry from above and a load balancer service that will expose the app to the world
Running this sample
To run this sample:
Set the environment variable
AZURE_AUTH_LOCATION with the full path for an auth file. See how to create an auth file.
git clone https://github.com/Azure-Samples/acs-java-deploy-image-from-acr-to-acs-orchestrator.git cd acs-java-deploy-image-from-acr-to-acs-orchestrator mvn clean compile exec:java
If you don't have a Microsoft Azure subscription you can get a FREE trial account here.