What does docker do? I think it is some arrangement to deploy apps/website with some extra security?
Docker is the company driving the container movement and the only container platform provider to address every application across the hybrid cloud. Today’s businesses are under pressure to digitally transform but are constrained by existing applications and infrastructure while rationalizing an increasingly diverse portfolio of clouds, data centers, and application architectures. Docker enables true independence between applications and infrastructure and developers and IT ops to unlock their potential and creates a model for better collaboration and innovation.
But I could not completely understand this. Can someone elucidate it further so that a novice or layman can also understand? discourse forum software also uses docker for its deployment.
Okay even though I never used it my colleague talked to us for one hour about it the other day, so I’m quite new to it too. I think you can look at it as a virtual machine but that shares the resources with the host machine. Docker helps setting up isolated environments to run software. Let’s say you have a website that requires PHP7 but on your local machine you have installed PHP5 and you don’t want to go through the fuss of switching versions… or it could be nginx VS Apache or any other dependency you like, which you don’t necessarily want to have in your main local environment. You could setup a docker container and install all those and run your software in it.
Probably worth mentioning that whereas a virtual machine needs some pre-allocated resources and is completely isolated from the host machine Docker containers share the resources with the host, and so potentially any of those containers would be allowed to abuse it and even bring it down… but I guess you can also configure them not to. So in that sense maybe a virtual machine is a little safer as it’s more isolated, however if you want to make the most out of your hardware Docker seems really good.
You don’t need Docker to build websites… It’s probably a more specialised thing for infrastructure folks working at IT companies. It could be useful as a sandbox, to run multiple isolated environments within one machine and to experiment with different technologies I guess
I think key terms are “container” and “runtime environment”. I think of Docker being mostly in the realm of “sys ops” and something a programmer should be aware of but not necessarily concerned about very much. (well, until there’s a problem )
Being a “Jack of all trades” to some extent is a good thing. But don’t let the “master of none” happen to you. IMHO it’s better to follow your love wherever that leads you and focus your efforts on whatever that may be.
These commands may give some clue about what Docker does
* note, “images” as used by Docker does not mean “graphics files”.
I agree. I should focus on one thing, and do something great and then focus on versatility. I was interested in installing discourse forum software at the same time keeping cost low so thought of learning a bit of that as discourse use docker image for deployment.
I wouldn’t want to classify docker as an advanced topic but it is more relevant to dev ops and infrastructure than development and programming/engineering. There is overlap between dev ops and programming.Dev ops and infrastructure is something all engineers will probably deal with throughout a career and slowly learn. In most contexts where something like docker is necessary there will be dedicated resources to manage the more dev ops tasks like setting up reusable containers to make local dev and deployment “easier”.
Do you have experience of deploying discourse on amazon server? Bitnami can automatically install, but these folks doubt that bitnami can do that in a way that discourse can later be updated →
No, I’ve never used discourse. In fact I’ve never used docker. My manager at my last position attempted to create a docker container for spinning up a project but abandoned due to various issues. For local development using php I much prefer to use puphpet.com to configure a vm. Ironically my new position uses ruby and rails instead of php which I install using rbenv. Not to sure about the prod deployment set-up just yet but it might involve something like docker. The company has a separate resource being brought in to handle the migration from dedicated servers to AWS (cloud) and that could include using docker and most liekly chef or puppet. Going back to what I said before though that is a different subset of engineering. Job ads seem to be using the term “Cloud Engineer / Architect”.
Hey there, still a newbie here and to be honest, I didn’t read every single answer in this thread. But if I may humbly say that when we speak of Docker, we should also consider some of the alternatives for containerization platforms. The main options / debates are usually about Kubernetes vs Docker. But keep in mind that Kubernetes can sit on top of Docker, but requires you to know the command line interface specifications for both to access your data over the API. Also keep in mind that Amazon and Google Cloud are coming up with options as well. So if you’re considering a platform, consider that too.