1 of 13

How not to use Docker

Rise of the DevOps

Lessons learned

2 of 13

Context

How not to use Docker

From where this idea ?...

COPYRIGHT © 3PILLAR GLOBAL - PROPRIETARY AND CONFIDENTIAL INFORMATION

PLACE THE IMAGE WITHIN THE GREY AREA

3 of 13

Context

How not to use Docker

COPYRIGHT © 3PILLAR GLOBAL - PROPRIETARY AND CONFIDENTIAL INFORMATION

4 of 13

Generic Docker for dBs

How not to use Docker

COPYRIGHT © 3PILLAR GLOBAL - PROPRIETARY AND CONFIDENTIAL INFORMATION

5 of 13

How about 10 million records?

How not to use Docker

COPYRIGHT © 3PILLAR GLOBAL - PROPRIETARY AND CONFIDENTIAL INFORMATION

6 of 13

Alternate Docker for dB

How not to use Docker

COPYRIGHT © 3PILLAR GLOBAL - PROPRIETARY AND CONFIDENTIAL INFORMATION

7 of 13

Compose dependency tree

How not to use Docker

COPYRIGHT © 3PILLAR GLOBAL - PROPRIETARY AND CONFIDENTIAL INFORMATION

8 of 13

Enter wait-for-it.sh

How not to use Docker

COPYRIGHT © 3PILLAR GLOBAL - PROPRIETARY AND CONFIDENTIAL INFORMATION

9 of 13

Enter wait-for-it.sh

How not to use Docker

COPYRIGHT © 3PILLAR GLOBAL - PROPRIETARY AND CONFIDENTIAL INFORMATION

10 of 13

Our solution: healthcheck

How not to use Docker

COPYRIGHT © 3PILLAR GLOBAL - PROPRIETARY AND CONFIDENTIAL INFORMATION

11 of 13

Our solution: healthcheck

How not to use Docker

COPYRIGHT © 3PILLAR GLOBAL - PROPRIETARY AND CONFIDENTIAL INFORMATION

12 of 13

Lessons Learned

How not to use Docker

  • On the nominal case, spinning up a Docker Postgres dB is ridiculous fast
  • If there are millions of records, capturing the database structure layout provide “bearable” results
  • Capturing database structure brings unbearable complexity
  • wait-for-it.sh is cumbersome to get it working
  • heathcheck is flexible and modular

COPYRIGHT © 3PILLAR GLOBAL - PROPRIETARY AND CONFIDENTIAL INFORMATION

PLACE THE IMAGE WITHIN THE GREY AREA

13 of 13

Q & A