Тёмный

docker: multi-stage builds (intermediate) anthony explains  

anthonywritescode
Подписаться 40 тыс.
Просмотров 9 тыс.
50% 1

today I talk about docker multi-stage builds -- why they're useful, and yet why I tend to avoid them!
- what is docker: • what is docker and how...
playlist: • anthony explains
==========
twitch: / anthonywritescode
dicsord: / discord
twitter: / codewithanthony
github: github.com/asottile
stream github: github.com/anthonywritescode
I won't ask for subscriptions / likes / comments in videos but it really helps the channel. If you have any suggestions or things you'd like to see please comment below!

Наука

Опубликовано:

 

3 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 17   
@mishrasidhant
@mishrasidhant 5 месяцев назад
Great explanation, thank you
@hamidja1537
@hamidja1537 11 месяцев назад
Thanks for sharing
@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
@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 2 дня назад
Do you need the credentials only to build the image? What about credentials to external resources which one needs during normal operation?
@putnam120
@putnam120 2 дня назад
@@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.
@a_maxed_out_handle_of_30_chars
@a_maxed_out_handle_of_30_chars 2 месяца назад
thank you :)
@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
@manuel56354
@manuel56354 Год назад
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
@manuel56354
@manuel56354 Год назад
@@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 Год назад
@@manuel56354 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.
@samrybkin9184
@samrybkin9184 7 месяцев назад
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 7 месяцев назад
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!)
Далее
What is Multistage Dockerfile ?
16:58
Просмотров 9 тыс.
Using docker in unusual ways
12:58
Просмотров 427 тыс.
Самая редкая видеокарта NVIDIA
1:00