New on LowEndTalk? Please Register and read our Community Rules.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
Do you use Docker? If so, what for?
raindog308
Administrator, Veteran
in General
I'm curious if anyone here is using Docker on their VPSes and what you're using it for.
I've screwed around with it but haven't found a need for it. Then again my VPS tasks are pretty mundane - web/database, backups, monitoring, etc.
I'm curious if people are doing cool things with docker that I may have missed...?
Comments
Locally I've been using it for development instead of vagrant for the last year and a half or so. It's lighter on resource usage than vagrant, which by itself is a big win. I'm also trying to get kubernetes up and running on one of my online.net servers so I can start learning that without paying exorbitant prices for GKE or Amazon's container engine.
My favorite setup is: One big ass server with everything dockerized, reversed proxied locally then reverse proxies on tiny boxes.
nginx on edge <-> ngingx on main <-> docker containers
Now I want to add docker swarm to the set up to have multiple "main"s.
Docker is so so so so so so so so cool.
I use it local for development. I also use it on servers because I don't want to be busy installing software, one command and it's up
I fear that I do not fully understand the concept behind docker. But I must admit that I never did any research before and just read about it on the forums.
Is the following assumption right?
I imagine Docker as "some kind" of Hypervisor that has to be installed on a server. Once done, I can throw in ready-made application containers to fullfil different tasks, like a webserver container, a database container, a complete and turnkey wordpress install or whatever. Is this (at least) half-correct?
Pretty much yes.
So, can I take a random docker container and start it on a totally different docker "node" (or however the mothership is called) without any modification to the container itself? What about network settings (I imagine DHCP would be necessary) and so on? Does anyone have a proven good "Docker for complete Dummies" ressource for me to do some reading? Would be very much appreciated!
a) Yes.
b) Done for you by the docker daemon
c) Use the docs, Luke!
so, similar to OpenVZ containers, but with less isolation between containers? that is, suitable when you have "friendly" neighbours
Zero overhead, plus you don't usually use docker for multiple users but for separating your own things, so no problem with neighbour quality. But you can do multi-users with resource restrictions if you like.
It's not exactly zero overhead. In particular in terms of networking you must modify the standard Docker setup to overcome the Docker bridge slowing things down a lot (https://github.com/docker/docker/issues/7857).
Btw, this paper may be of interest: http://domino.research.ibm.com/library/cyberdig.nsf/papers/0929052195DD819C85257D2300681E7B/$File/rc25482.pdf
Compared to OpenVZ, it is. Obviously not zero, as in "exactly the same as bare metal". As for the network, I did not know that bottleneck, never had an issue in practice but I 'm not doing shitloads of traffic.
Think of Vmware, KVM, etc. as presenting a "virtualized machine".
OpenVZ presents a "virtualized kernel/operating system".
Docker provides a virtualized platform. Its chief advantage is that I can setup processes on my desktop or system 1 in its container, and then move the container over to system 2 and they just work, without worrying about if the correct libraries are installed, if we're at the same OS version, even the same OS type, etc. I don't have to think/worry about anything outside the container. Also, container maintenance is a lot lighter...I don't have to patch/update the OS inside the container, etc.
Docker tips can be a big asset in the lowendguid wink wink
Is that a Global Unique Identifier that has a lot of duplicates? :-)
Can we run docker on an OpenVZ container?
docker is #2 in my never ending todo list, if i managed to do something without reinstalling the whole pc i'll try to be the hero no promises for now.
only saw on KVM maybe someone else can tell his adventure.
"Since OpenVZ kernel 042stab105.4 it is possible to run Docker inside containers."
Source: https://openvz.org/Docker_inside_CT
@Sady
Yeah, you can, with the freaking slow vfs storage, doing lots of copies of the files wasting space.
Also, you will need to find a provider giving you a veth network interface instead of a venet one, which I am still waiting to see (buyvm is doing it for some purpose irrc? And that's the only one).
From what I can tell Docker is more for large deployments. Most of us don't need to install the same container/server 100's of times. LXC meets my LEB needs just fine I wonder who the first LXC LEB provider is going to be? Or has it happened and I missed it????
I use docker to host everything separately (web/mongo/mysql/etc) as well as for development. I'm used to jails on FreeBSD so this kind of separation w/ containers on linux is really awesome.
Tools like e.g. docker-compose make setting up dev/test/live environments a breeze to do too. compose in particular is really easy to use :-)
Multi-tenant setups with Docker are not a good idea. It is not designed for that.
docker made it easy to deploy multi stack apps like discourse forum
I like docker, but does it help with high scalability and replication of the DB for example?
Totally irrelevant. Docker is about scaling deployments, not scaling ... databases. Use a darn cluster for that.
I don't think it's irrelevant. You can use Docker to spin up any DB server. You can also put Dockers in a cluster. My question is if there is an easy way to have the Docker cluster spin up DB Dockers on demand, the spin them back down.
You can spin up the containers, but you have to automate the cluster configuration. If your cluster does service discovery and sharding automatically, I suppose you're ok.
Just dockerized Deluge and Plex last weekend for fun - great learning experience.
I'm starting to dockerize anything new I make - unfortunately I need a KVM container or similar, but most of my leb's are OpenVZ's.
Yeah, I am going this way as well. I think this will be a good use for my DO credits: setting up a Docker swarm between dedis and DO.
As far as OpenVZ, it is still good for reverse-proxy / tunnel to the KVMs...with its pathetic privacy I have always been reluctant to use OpenVZ if not in control of the host node.