The Ultimate Guide to Azure Container Instances (ACI)

แชร์
ฝัง
  • เผยแพร่เมื่อ 31 ก.ค. 2024
  • This large but comprehensive tutorial includes all steps to build an application with Azure Container instances (ACI). We register at Azure, create an ACI resource, dockerize our application, push it to an Azure Container registry and deploy multiple containers via docker-compose and alternatively via the Azure CLI (az deploy). We also enter the Azure Portal in order to debug our application via Container Logs, configure and monitor CPU and memory limits, delete and redeploy. We connect to an Azure Storage account for our application to persist files. Finally we create an URL for others to access our application.
    00:00 Introduction
    00:20 Who should use Azure Container Instances?
    01:04 Registration and Payment
    02:32 Create a Hello Word Application
    10:53 Create an Azure Container Registry
    13:23 Connect to the Container Registry
    14:36 Push an image to the Container Registry
    16:16 Dockerize your application and push it to the registry
    18:13 Deployment to ACI via docker-compose
    24:31 Deployment to ACI via Azure CLI (az deploy)
    31:39 Persistent file storage with Azure Storage Accounts
    35:59 Get an URL for your application with FQDN
    38:16 Conclusion
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 25

  • @csatanarachchi
    @csatanarachchi 4 หลายเดือนก่อน +1

    I genuinely appreciate your candid effort to delve deeper into Azure Container Instances (ACI) and their practical utilization for rapidly deploying containerized applications in a cost-efficient manner👏

  • @arifusman6123
    @arifusman6123 4 หลายเดือนก่อน +1

    amazing tutorial...i just started knowing ACI and this is great. Thank you @Michael Kißling

    • @discotake
      @discotake  4 หลายเดือนก่อน

      I am glad to be helpful.

  • @lexichdev
    @lexichdev 3 หลายเดือนก่อน

    Thank you, Michael, you saved me a lot of time!

  • @mattomwit
    @mattomwit 10 หลายเดือนก่อน +2

    You helped me. This video was very useful. Thank you.

  • @namlessnightwalker
    @namlessnightwalker 3 หลายเดือนก่อน

    Well done!!! Apprechiate the work and well organized and enriching content.

  • @wilhelm8735
    @wilhelm8735 10 หลายเดือนก่อน

    Thanks for the tutorial. You covered information, which I couldnt find anywhere else. Greatly appreciated!
    Grüße aus Berlin ;-)

  • @ramki9196
    @ramki9196 5 หลายเดือนก่อน +1

    Thank you so much! You definitely helped!!

  • @simianinc
    @simianinc 9 หลายเดือนก่อน +1

    Thank you for this. May I suggest you make your fonts larger in your demos. There's a lot of whitespace, and a lot of small text.

    • @discotake
      @discotake  9 หลายเดือนก่อน

      Thank you very much for your input. My intention is to bring the best possible quality to my tutorials, and increasing the font size in order to be more convenient for small screens and low resolution devices is something I will take into account for the future.

  • @jivaniarpit2961
    @jivaniarpit2961 5 หลายเดือนก่อน

    Hey I like this video but i have one question, can I open this azure container in vs code for development like we do with docker container.

  • @TheTocas97
    @TheTocas97 29 วันที่ผ่านมา

    man!!! you are amazing ! i love you thanks a lot !! best explanation !! but one thing , you said previously that the docker context aci is no longuer supported , and there is another solution , could you please mention it ?

    • @discotake
      @discotake  29 วันที่ผ่านมา +1

      @@TheTocas97 Hi! I appreciate that you liked my video that much! The „other solution“ is simply the deployment via „az deploy“ which I describe in the next chapter at 24:31

    • @TheTocas97
      @TheTocas97 29 วันที่ผ่านมา

      @@discotake in fact i converted my docker compose file to azure yml file and used the same command az container create --file "myfile.yml" and the ACI was created succefully and the two containers were created succefully as frontend and a backend but the issue is the the frontend cannot resolve the name of the backend by its name..did you face something similar plz ?

    • @discotake
      @discotake  29 วันที่ผ่านมา

      @@TheTocas97 If you want to run your frontend and your backend on a single ACI instance, you need to use a proxy server who can redirect www.mysite.com/api/ to an internal port like localhost:8080 - You can do such things with Caddy in a very simple way. Caddy is also nice for using https with a free certificate from LetsEncrypt

    • @TheTocas97
      @TheTocas97 28 วันที่ผ่านมา

      @@discotake so i understood correctly i need to add another container caddy and edit the yml file to tell the first container that it can reach the second container api on port 8888 for example via the caddy proxy ?

    • @discotake
      @discotake  17 วันที่ผ่านมา

      @@TheTocas97 Yes exactly this is the way. In caddy you have to define two routes. For example / will go to the Frontend, and /app will be internally routed to port 8080/8888/whatever and there the backend API will listen to those requests

  • @oleksiiromanchenko3826
    @oleksiiromanchenko3826 หลายเดือนก่อน

    At some point in time, one of your containers was terminated. Could you share please, what is better to do in that cases? how to find the reason or at least containers errors, if there are no logs?

    • @discotake
      @discotake  หลายเดือนก่อน +1

      Hi Oleks, you need a separate logging service if you want persistent logs. Azure Log Monitor is the tool of your choice:
      learn.microsoft.com/de-de/azure/container-instances/container-instances-log-analytics

    • @oleksiiromanchenko3826
      @oleksiiromanchenko3826 หลายเดือนก่อน

      @@discotake danke

  • @EddieDemon
    @EddieDemon 6 หลายเดือนก่อน

    Well, just what I needed. All I miss here is how one container connects to another. Is the internal DNS managed by ACI? And based off of the container name?

    • @discotake
      @discotake  5 หลายเดือนก่อน +1

      There is no way to connect to another ACI container directly. You need to connect via the external URL of the other container as if you were a regular external client. When both ACI instances are physically in the same Azure Data Centre, I strongly assume that the IP packets will be routed internally without ever leaving the building, but even this is out of your control and managed by Azure.

    • @EddieDemon
      @EddieDemon 5 หลายเดือนก่อน

      @@discotake I see, so in that case ACA is a better option?

    • @discotake
      @discotake  5 หลายเดือนก่อน

      I read your question again and I think I understood it now in the way that you are deploying multiple containers into a singe ACI instance. In this case you can just contact the other container via localhost:1234 (where 1234 is the opened port of the other container). But even if you would want to communicate with another ACI instance, you can do it interally via an AzureVirtual Network (learn.microsoft.com/en-us/azure/container-instances/container-instances-vnet) - so there is no need to use ACA@@EddieDemon

    • @EddieDemon
      @EddieDemon 5 หลายเดือนก่อน

      I see, thanks @@discotake! I’m still quite in the dark when to use which, both technically and financially. AFAIK ACA utilizes k8s and is somewhat cheaper by the hour, though it might be overkill for smaller applications. Right?