Docker and Nix (DockerCon 2023)

Поделиться
HTML-код
  • Опубликовано: 6 ноя 2024

Комментарии • 21

  • @seheyt
    @seheyt 7 месяцев назад +10

    I think radically building the entire image in Nix and only streaming the result may magically fix the cache cost incurred on update (because nix already knows how to) and also results in single-layer minimal images. Single-layer is just more efficient. Oh, and also it keeps all things declarative (the SBOM output can be declarative, as opposed as accidentally being back to imperative because of … well that’s the nature of the copy command in Dockerfiles

    • @seheyt
      @seheyt 7 месяцев назад +4

      Excellent talk nonetheless. Even if the end-result doesn’t yet look optimal to me, one thing this does in a way that would otherwise not happen, is to highlight the difference in paradigm/mindset between the two ecosystems. It was highly enlightening to me in that way.

  • @MartinsTalbergs
    @MartinsTalbergs 7 месяцев назад

    Much love brother!

  • @hpayrumani
    @hpayrumani 8 месяцев назад +4

    this is what I was looking for, amazing.

  • @CristianHeredia0
    @CristianHeredia0 10 месяцев назад +6

    Neat. Where can I find a working example of the “shim” file for python?

    • @aggranular
      @aggranular 8 месяцев назад +4

      The shim is project agnostic. To use it with a python application you simply need to figure out how to build\package it with nix. The shim simply copies what you built with nix into a single layer container image

    • @slimslenderslacks
      @slimslenderslacks 6 месяцев назад

      that's right! The shim should work for any nix project

  • @yash1152
    @yash1152 2 месяца назад

    32:08 wow, interesting to see that python app comparison > size is more on nix w.r.t debian+layers

  • @bzmrgonz
    @bzmrgonz 9 месяцев назад +20

    Maybe I missed something, but this embrace looks more like the MS way of doing things in the 90s.. Is it truly a strategic partnership? I don't clearly see what docker brings to the table, I only see docker pre-emptively adopting Nix's philosophy [storing declaratives, not images] in an effort to improve container management and also, before Nix eats docker's lunch???

    • @hera9191
      @hera9191 9 месяцев назад +16

      Docker brings here runtime containerisation and also image management. While Nix brings creating environments.

    • @droydi
      @droydi 8 месяцев назад +5

      You are 100% right, docker is not needed when nix is done right.

    • @seheyt
      @seheyt 7 месяцев назад +7

      @@hera9191Precisely. Which is why I’d say DON’T use the shim. Don’t reimplement nix store in docker’s layer system. Just build the entire image in nix and stream it into a single layer for podman, docker or whatever target container runtime you need

    • @mabainter
      @mabainter 6 месяцев назад +4

      I worked with MS in the 90s and have no idea what you're talking about. They had nothing like this.
      There is more to running containers than the build process, so I wouldn't recommend throwing out the shim too quickly.

    • @bzmrgonz
      @bzmrgonz 6 месяцев назад +2

      @@mabainter i was referring to MS way of dealing with competing technologies born in the 90’. Triple-E, embrace, extend and extinguish.

  • @thorcook
    @thorcook Месяц назад

    So basically, docker is just taking all the goodness of nix and putting it in docker? so why do i need/want docker again? i don't see what docker is bringing to the table here (aside from a glorified nix wrapper).. Nix with Docker branding/labelling. Okaaaay.. Maybe Docker should consider a re-branding. Here's some suggestions: "Wrapper", "Draper", " "Docker"?"..., "UnDocker", "NoDocker", 'Nix'Docker", "NixLocker"..., "Hocker", "Stocker", "Nocker"... "Doc-Blocker"...

  • @1234minecraft5678
    @1234minecraft5678 2 месяца назад +1

    Nix > AI, you heared it here first