filmov
tv
Best Practices Around Production Ready Web Apps with Docker Compose
Показать описание
REFERENCE LINKS
---------------------------------------------------
COURSES
---------------------------------------------------
Courses I've created that focus on web dev and deployment topics.
THE TOOLS I USE / GEAR
---------------------------------------------------
FOLLOW ME ELSEWHERE
---------------------------------------------------
TIMESTAMPS
---------------------------------------------------
0:00 -- What we're going to cover
0:19 -- Who is Nick?
1:20 -- All reference links will be in this GitHub repo
1:31 -- Our example app's tech stack and how it's similar to a lot of web apps
2:20 -- Quickly viewing what the app looks like and jumping into the code
2:53 -- Not defining a version property to stick to the Docker Compose spec
3:21 -- Using a Docker Compose override file to pick what you want to run in dev and prod
7:11 -- Reducing YAML duplication with aliases, anchors and Compose's extension fields
10:56 -- Tweaking your health check with an env variable for dev vs prod
13:05 -- Creating a health check endpoint to test your db, redis and app's connectivity
14:40 -- Restricting port forwarding so only localhost can access certain services
17:08 -- Adding resource limits to your container's CPU and memory
17:39 -- Changing around your container's restart policy in dev vs prod
18:42 -- Changing around your volumes to only bind mount your assets in production
19:57 -- Configuring your app server's bind host and port
20:49 -- Configuring your app server's worker and thread count
21:55 -- Configuring your app server to log to stdout so you can let Docker send logs elsewhere
22:32 -- Configuring a managed database in production while using a local db in development
24:04 -- Taking advantage of multi-stage Dockerfiles to optimize your main app's image
24:24 -- Best practices change over time, don't be afraid to do things differently in the future
24:52 -- Running your containers as a non-root user
25:27 -- Customizing where package dependencies get installed to avoid volume issues
26:29 -- Taking advantage of Docker's layer caching and glancing over a PurgeCSS specific line
26:56 -- Using build arguments to set our app's env so we can situationally bundle our assets
28:15 -- Copying in our Webpack stage's bundled assets into the Python application
29:03 -- Going over a few things in the Python app's build stage
30:36 -- Setting a few useful env variables for Python and digesting your static files
31:14 -- Configuring an EXPOSE port so we know what port is being used in the container
31:26 -- For the CMD, use the array syntax instead of a string so your process is PID 1
32:02 -- Using an ENTRYPOINT script to clean up and prepare digested static files
33:09 -- If you're interested, I have a course on deploying web apps with Docker coming out
Комментарии