A few thoughts about Docker

What is Docker

  1. Docker is a container technology, hosted on Linux servers.
  2. It is a way to mitigate the overhead of running virtual machines.
  3. It has some sort of Hub, a marketplace where you can find executables and run them within minutes.

What are the goodnesses

  1. Waste less, compared with hardware level virtualization.
  2. You can consider Docker images like statically compiled executables for Linux servers.
  3. But Docker images can share layers and automatically solve dependencies, so they still save space.
  4. One image can host a set of programs(services).
  5. It uses cgroups and some other methods to provide better security, compared with running executables directly.
  6. Multiply instance, you can run multiply containers from same image, whether the programs itself support it or not.
  7. Designed to run and maintained in batch.
  8. More efficent resource management, there are docker-compose to do something like “one yml to rule them all”.
  9. Open source.
  10. It won’t kill Schrodinger’s cat.

What are the weaknesses

  1. No, programs(services) don’t magically turn itself into cluster ready. It needs to be able to communicate with each other on their own. Or you can use master server or load balancer if your service is stateless.
  2. No, it still comes with cost compared with running programs directly.
  3. No, valuable resource, like port numbers, still is limited, and containers cannot share them.
  4. No, it still requires Docker itself to be properly configured before anything happen.
  5. No, It only solves possible problems in DevOps, but nothing else. You still need administrator and developer(duh!).
  6. It will kill Schrodinger’s cat.

Shall I play

  1. Certainly. It is fun to play with.
  2. You can start with existing open source programs you want to make portable.
  3. You need adequate Linux knowledge and OS X doesn’t count.

Conclusion

I’m pretty happy with it and I can foresee a lot of projects will start shipping Docker images out of the box.
Let’s see where it is going in the near future together.