{"id":17449559,"url":"https://github.com/jplane/azure-atl-containers","last_synced_at":"2025-07-11T02:33:43.280Z","repository":{"id":95098183,"uuid":"257314079","full_name":"jplane/azure-atl-containers","owner":"jplane","description":"Azure-in-the-ATL virtual meetup on April 21, 2020","archived":false,"fork":false,"pushed_at":"2020-04-21T13:38:31.000Z","size":466,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-28T04:28:33.637Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jplane.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-20T14:54:12.000Z","updated_at":"2020-04-23T20:13:42.000Z","dependencies_parsed_at":"2023-05-26T15:45:27.984Z","dependency_job_id":null,"html_url":"https://github.com/jplane/azure-atl-containers","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jplane/azure-atl-containers","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplane%2Fazure-atl-containers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplane%2Fazure-atl-containers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplane%2Fazure-atl-containers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplane%2Fazure-atl-containers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jplane","download_url":"https://codeload.github.com/jplane/azure-atl-containers/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplane%2Fazure-atl-containers/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264713033,"owners_count":23652705,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-17T21:42:06.662Z","updated_at":"2025-07-11T02:33:43.258Z","avatar_url":"https://github.com/jplane.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Azure-in-the-ATL: Containers in Azure (its not just AKS)\n\nSlides are [here](./ContainersInAzure.pptx)\n\n## Pre-requisites\n\n1. An Azure subscription\n1. All demos use shell scripting, on Windows you'll want to [install Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/wsl2-install)\n1. [Install Docker](https://docs.docker.com/get-docker/)\n    - on Windows be sure to install the special WSL2 backend instead of 'regular' Docker Desktop https://docs.docker.com/docker-for-windows/wsl-tech-preview/\n1. [Install the Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest)\n1. [Install the Databricks CLI](https://docs.microsoft.com/en-us/azure/databricks/dev-tools/cli/)\n\n## Setup (do this first)\n\n1. Open a bash prompt and [log into the Azure CLI](https://docs.microsoft.com/en-us/cli/azure/authenticate-azure-cli?view=azure-cli-latest)\n1. Run [setup.sh](./setup.sh)\n\n## ACI demo\n\nRun [run-hello-world.sh](./aci/run-hello-world.sh); note that you may need to modify the DNS name in the script to ensure uniqueness.\n\nWithin the Azure portal, navigate to the 'hello-world' ACI in the 'azure-atl-containers' resource group. Open a browser window to the FQDN address specified for your ACI.\n\n## App Service (web) demo\n\nRun [build-and-push.sh](./app-services/web/build-and-push.sh) to build the web app Docker image locally and push it to the Azure Container Registry created in the setup script.\n\nNext, run [create-app-service.sh](./app-services/web/create-app-service.sh) to create a Linux container-based app service instance in Azure; note that you may need to modify the app service name in the script to ensure uniqueness.\n\nWithin the Azure portal, navigate to the 'azure-atl-containers' resource group and find your newly created web app service. Browse to the URL specified in the app service overview panel to ensure proper configuration and deployment.\n\n## App Service (function) demo\n\nRun [build-and-push.sh](./app-services/functions/build-and-push.sh) to build the function app Docker image locally and push it to the Azure Container Registry created in the setup script.\n\nNext, run [create-app-service.sh](./app-services/functions/create-app-service.sh) to create a Linux container-based app service instance in Azure; note that you may need to modify the app service name in the script to ensure uniqueness.\n\nWithin the Azure portal, navigate to the 'azure-atl-containers' resource group and find your newly created functions app service. Browse to the URL specified in the app service overview panel to ensure proper configuration and deployment.\n\n## Databricks demo\n\nThe first few steps cannot be scripted, and must be performed manually.\n\nFirst, [create a Databricks workspace](https://docs.microsoft.com/en-us/azure/azure-databricks/quickstart-create-databricks-workspace-portal#create-an-azure-databricks-workspace) within the 'azure-atl-containers' resource group in Azure.\n\nNext, navigate to your new Databricks workspace in the Azure portal and click the 'Launch Workspace' button. Once in the workspace, [create a Personal Access Token](https://docs.microsoft.com/en-us/azure/databricks/dev-tools/api/latest/authentication#--generate-a-token) and copy the token for use in the next step.\n\nRun the following shell command to configure Databricks CLI authentication:\n\n```bash\ndatabricks configure --token\n```\n\nWhen prompted, enter your Databricks workspace URL and token.\n\nRun [build-and-push.sh](./databricks-containers/build-and-push.sh) to build the custom Databricks Docker image locally and push it to the Azure Container Registry created in the setup script.\n\nNext, run [create-cluster.sh](./databricks-containers/create-cluster.sh) to create a Databricks cluster that uses your custom Docker image.\n\nWithin the Databricks workspace, open a new Python notebook running on the cluster created in the previous step. In the notebook, run the following Python code to ensure you can access the Faker library installed in the custom Docker image:\n\n```python\nfrom faker import Faker\nfake = Faker()\n\nfake.name()\nfake.address()\n```\n\nIn a standard Databricks cluster install, you would not have immediate access to this library. So if the above code works correctly, you can be certain that your custom Docker image is functioning as expected.\n\n## VS Code Dev Containers demo\n\nFirst, install the [VS Code Remote Development extension pack](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack).\n\nNext, open the [devcontainers](./devcontainers) folder in a new instance of VS Code. The remote dev extension should recognize the 'devcontainer' configuration contained within the folder and automatically build the Docker image, start an instance of the container, connect your VS Code window to the VS Code server running in the container, and provide you a fully configured dev environment within that container.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjplane%2Fazure-atl-containers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjplane%2Fazure-atl-containers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjplane%2Fazure-atl-containers/lists"}