Settings

Theme

Need Help with Docker Implementation in MS Azure

1 points by calpas 8 years ago · 7 comments · 1 min read


Hello guys,

I need your assistance with Docker. I currently have two Azure VMs (both Ubuntu 16.04) for Zabbix (Enterprise server monitoring) and Snipe-IT (Asset Management). Now the requirement is to replace these two machines with Docker.

How would you implement this? It should run in Azure. Would you make a VM and run two containers (Zabbix and Snipe-IT) and a container for MySQL? Or would you implement it via Docker CE for Azure?

Where are the differences and what is the most cost effective in the end? A swarm is not desired, it should not be too mega complicated.

I look forward to your suggestions.

andymoe 8 years ago

I’d look at this service to see if you can simplify: https://azure.microsoft.com/en-us/services/container-instanc...

I’ve run Docker CE on azure vms on individual host, also customized ACS for swarm and they are both a PITA in their own ways.

Either way use terraform or ARM templates to provision where you can. Probably need the ARM templates for the newer container instance service since I doubt terraform is updated yet.

  • calpasOP 8 years ago

    Hello Andymoe, thank you for your quick answer.

    Azure container instances look good, I'll take a closer look at that. What would the implementation then look like? I need two containers for the apps and then one for the MySQL database. So in the end I would have 3 container instances, correct?

    Is it cheaper to use Azure MySQL or to run MySQL in a container instance?

    Thanks in advance

    • andymoe 8 years ago

      I'd just use the hosted MySQL service.

      It will take a lot of time configuring MySQL to be production ready with backups, etc. Layer on top of that the complexity of running it in a container... How do you patch the DB software if you run it in a container? Make a new container stop the existing container and reattach the data volume correctly and then you have to deal with downtime or a cluster of containers running the DB if you don't want downtime. You're going to have a bad time unless you really know what you are doing and I still would not run MySQL in a container instance.

    • sheraz 8 years ago

      Be advised that Azure container instances are very expensive to run 24/7. This is not the intended use.

      ACI current pricing as of Dec 2017

      1 create request x 1GB memory x 1 month (2592000 seconds) x $0.0000125 (GB/sec) = $32

      1 create request x 1 CPU Core x 1 month (2592000 seconds) x $0.0000125 (GB/sec) = $32

      Total ~ $64 / month.

      I think you might be better off running an Ubuntu VM with Docker for your services and then add Azure Databases for MySQL for persistence. That is how I deploy inside azure.

      • calpasOP 8 years ago

        I have not yet fully understood the principle of "create requests".

        It is also possible, if I consider your suggestion to run MySQL directly on the VM - then the two containers above. This would be cheaper, wouldn't it?

        • andreicon 8 years ago

          "create requests" only means something in ms land

          using a vm you'd save about 30usd/mo

          i could provide a configuration that you can run directly on your machine. drop me a line if you need help, i'm @andreicon on twitter

          • calpasOP 8 years ago

            Deploying a configuration sounds very good.

            Would you be ready for a moment what exactly this configuration contains? I'm new to Docker and still at the beginning... this will be my first implementation.

            Many thanks for all the help. You can contact me at "calpas@protonmail.com".

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection