docker: multi-stage builds (intermediate) anthony explains

  Рет қаралды 11,354

anthonywritescode

anthonywritescode

Күн бұрын

Пікірлер: 19
@putnam120
@putnam120 Жыл бұрын
I mostly use multistage builds for the security aspects. Most of my build require that I provide credentials to access external resources. In these situations you don't want your credentials in the final image. Newer versions of docker have ways of passing in secrets. But our IT department refuses to update the version we use so multi state build it is
@lammelmiklos3765
@lammelmiklos3765 3 ай бұрын
Do you need the credentials only to build the image? What about credentials to external resources which one needs during normal operation?
@putnam120
@putnam120 3 ай бұрын
@@lammelmiklos3765 you can pass in credentials file at runtime or use environment variables. Alternatively you can reference you secret store to get information at runtime as well.
@d3stinYwOw
@d3stinYwOw 3 ай бұрын
I use multi-stage builds for python at work, to save disk space mostly. Why? Those images are pulled on IoT LTE connection with scarce limits, so smaller = better
@RuslanKovtun
@RuslanKovtun Жыл бұрын
For me caching in multistage build works. As I have notices, you will have rebuilds of first stage where you have changes: e.g. if you cp reqeuests.txt that is different from what was before, all later layers will be rebuild, otherwise docker will check later commands to find changes if any. So, if you want to optimize build time, put things that will change frequenty to the end to cache more layers.
@anthonywritescode
@anthonywritescode Жыл бұрын
yeah that's not really related to the multi stage problem. with multi stage it'll always rebuild unless you carefully cache all the intermediate builds
@Phaust94
@Phaust94 Жыл бұрын
Your views are critically low for as good a channel you are! Thanks!
@bakhtiyargarashov805
@bakhtiyargarashov805 Жыл бұрын
Any logical use case of using multi-stage for Python apps ? I mean for languages like Go, C, Rust etc where you have build artifacts as a binary output it makes absolute sense to reduce image size
@anthonywritescode
@anthonywritescode Жыл бұрын
same applies for python -- say you have to build one of your dependencies C extensions
@mishrasidhant
@mishrasidhant 8 ай бұрын
Great explanation, thank you
@Ivoire512
@Ivoire512 4 күн бұрын
awesome keyboard😁
@hamidja1537
@hamidja1537 Жыл бұрын
Thanks for sharing
@manuel_youtube_ttt
@manuel_youtube_ttt Жыл бұрын
Please explain Nix vs Docker, in terms of convenience for a long-term project which you want to always work, even if you build it 5-10 years later.
@anthonywritescode
@anthonywritescode Жыл бұрын
easy: I would never use or suggest anyone use nix
@manuel_youtube_ttt
@manuel_youtube_ttt Жыл бұрын
@@anthonywritescode That's interesting. I've been recently using it for a machine. It's hard to learn and apply. Updating dependencies is also a manual process. But the end result looks consistent and reproducible. What problems do you see in it?
@Ownermode
@Ownermode Жыл бұрын
@@manuel_youtube_ttt it is difficult to learn. Documentation is all over the place. So using Docker or podman you are assured that it will work and there is a large community to help you.
@a_maxed_out_handle_of_30_chars
@a_maxed_out_handle_of_30_chars 6 ай бұрын
thank you :)
@sammygun84
@sammygun84 11 ай бұрын
Dockerfile: FROM ubuntu:jammy RUN : \ && apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommend gcc \ libc6-dev \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* COPY main.c . RUN gcc -o /usr/local/bin/hello-hello-world main.c Hi when I try to build image i recieve next error: ERROR: failed to solve: dockerfile parse error on line 6: unknown instruction: gcc Can you explain please what I am doing wrong ? And if it not secret what keyboard model do you use ?
@anthonywritescode
@anthonywritescode 11 ай бұрын
you're missing a backslash after `--no-install-recommends` there's an faq playlist you can click on my channel to learn about the keyboard (and more!)
git: the several ways to "--sign" (intermediate) anthony explains #504
5:01
I fixed my computer!
21:09
anthonywritescode
Рет қаралды 4 М.
Миллионер | 3 - серия
36:09
Million Show
Рет қаралды 2,1 МЛН
How Much Tape To Stop A Lamborghini?
00:15
MrBeast
Рет қаралды 236 МЛН
How many people are in the changing room? #devil #lilith #funny #shorts
00:39
how do virtualenvs actually work (advanced) anthony explains #522
16:55
anthonywritescode
Рет қаралды 7 М.
Top 8 Docker Best Practices for using Docker in Production
18:27
TechWorld with Nana
Рет қаралды 312 М.
3 ways to reduce the size of your docker images
17:20
Raghav Dua
Рет қаралды 22 М.
Using Docker Multi-Stage Builds
13:41
DevOps Toolkit
Рет қаралды 32 М.
oops I'm the pyuwsgi maintainer now (intermediate) anthony explains #579
22:55
Dockerfile Best Practices
39:35
Docker
Рет қаралды 53 М.
how should I organize my project? (beginner) anthony explains #506
10:02
anthonywritescode
Рет қаралды 14 М.
What is Multistage Dockerfile ?
16:58
School of Devops
Рет қаралды 10 М.
Миллионер | 3 - серия
36:09
Million Show
Рет қаралды 2,1 МЛН