EuroPython 2022 - My journey using Docker as a development tool - presented by Haseeb Majid [Wicklow Hall 1 on 2022-07-13] Docker is a prevalent tool in our industry today, it is widely used for several proposes. In this talk, I would like to describe the journey I have taken with Docker and how I have learnt to use it with Python for local development. The talk will mostly focus on how we can use Docker to run all of our development tasks, so we hardly need to have anything installed locally. To the point where you can work on almost any project with nothing more than an editor, your terminal and Docker. We will look at how we can take a simple FastAPI web service and dockerise it. The talk will be a step by step guide, starting of with a simple Docker image and improving it iteratively. - Firstly use a simple Docker image - Then add docker-compose to dockerise its dependencies such as database - Then see how we can run tests (and other tasks) directly in our Docker container - How to use this with Github Action - Then look at multistage builds - Then split this into development and production image - How can we handle git dependencies that require an SSH key to be injected into the Docker image at build time I’d be a little more specific. Like, how we handle private pip packages in our docker images. This talk is for you if you are a casual user of Docker and know a few of its features but want to improve your Docker skills. This is NOT a talk for you if you are an expert in Docker and know most of its features. Code: https://gitlab.com/haseeb-slides/docker-as-a-dev-tool Slides: https://docker-as-a-dev-tool.haseebmajid.dev This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/ |