Debugowanie kontenerów w 10 minut - Docker/Podman

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

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

  • @tharnendil
    @tharnendil Месяц назад +1

    Świetny materiał! Bardzo ci dziękuję 😊

  • @grzesiekb9142
    @grzesiekb9142 2 месяца назад +5

    Nie no spoko. Uruchomiłem amatorsko kilka kontenerów, ale dla mnie mówisz w obcym języku :) Braki w linuxie mam ogromne :) I tak lubię Cię słuchać (nawet jeśli niewiele rozumiem) :D

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

    Jeżli zawartość różni się u kogoś od tego co pokazuje Jakub i wygląda tak:
    - /blob
    - index.json
    - manifest.json
    - oci-layout
    - repositories
    To znaczy, że (docker save) zapisał obraz z layoutem OCI, u mnie właśnie tak było, mam wersje v26 (orbstack)(macos)
    Można taki obraz przekonwertować na format Docker v2 aby struktura była tak jak na filmiku.
    Do tego można użyć (skopeo)

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

    Jeśli masz pytania do tego, co pokazałem, to zadaj je w komentarzach ⬇

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

    Dzięki za film

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

    docker logs -t też da czas a LogPath z inspect bywa pusta jak coś jest nie tak :]

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

    A jak debugować flatpaka?

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

    Jest tez takie sprytne narzedzie wagoodman/dive, ktore pozwala na przegladanie warstw obrazkow, tez bardzo pomocne przy debugowaniu

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

      @@wojtekson167 wiesz lepiej pokazać losowe brutowanie binarek /bin/bash itp

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

    W kontenerze jest grep dostępny, także nawet nie trzeba busy boxa używać.

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

      To zadanie można na wiele sposobów wykonać. Używając grepa, dd, gzip, base64, sed itp.
      To jest Linux - jedno zadanie można wykonać na wiele sposobów :)

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

    Fajne!!!
    🥰😍🤩
    🥰😍🤩
    🥰😍🤩
    🥰😍🤩
    🥰😍🤩

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

    Debugowanie w 10 minut... dla zaawansowanych 😅

    • @uwteamorg
      @uwteamorg  2 месяца назад +3

      Nie chciałem takich absolutnych podstaw pokazywać, więc skupiłem się na lekkim kombinowaniu :)

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

      @@uwteamorg nie no spoko generalnie, ale poziom widać, że jest zdecydowanie wyższy niż podstawowy. Coś ogarniam, na tyle żeby postawić i skonfigurować swoje instancje dociera, ale tutaj było kilka poziomów, wyżej, ale.to nie znaczy, ze to jest złe, może nawet dobre, powinno motywować 🤝

    • @lukcicPL
      @lukcicPL 2 месяца назад +3

      @StraightBar to jest jedna z najlepszych form tutoriali, podstawy sobie wszędzie wyguglujesz albo zapytasz Czata GPT, tutaj masz całkiem realny przypadek, gdzie ktoś coś wyrzeźbił, a Ty musisz się wspiąć na wyżyny kreatywności, żeby zrozumieć co tam się odwala i to naprawić. Przez kilka lat pracy niejednokrotnie miałem takie przypadki, bo prowizorka przecież żyje najdłużej 😅

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

      wydaje mi się, że są to podstawy - zostały użyte podstawowe polecenie dockerowe oraz podstawowa wiedza obrazach i kontenerach - że trzeba entrypoint czasami zmieniać, wolumeny instalować, że nie ma czasami powstawowych cli, że istnieje busybox, że można użyć cp, export oraz save żeby pogrzebać w środku

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

    Skrypt w kontenerze niepoprawnie rozpoznaje typ danych wejściowych typu 'string' i wyświetla poprawną odpowiedź.
    Powinno być if ! [$a -eq $b];

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

      tak to jest z odziedziczonymi kontenerami

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

    Można do tego dojść w inny sposób:
    mkdir kontener
    cd kontener
    id=$(docker create unknow/wywrotka:latest)
    docker export $id -o contener.tar
    tar xf contener.tar

    • @uwteamorg
      @uwteamorg  2 месяца назад +3

      O! Też ciekawe rozwiązanie - utworzenie kontenera bez uruchamiania go (więc skrypt nie zrobi samozniszczenia) 🙂👍

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

    nie chcę psuć biznesu, ale w Docker Desktop za 5$/mc jest dostęp do docker debug który montuje shell w każdym kontenerze

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

      1) na zdalnych serwerach debugując cudze aplikacja najczęściej nie masz dostępu do Docker Desktop
      2) uczenie ludzi wielu różnych sposobów na wykonanie jednej akcji nie jest złe. Twój sposób za $5 jest OK, a mój za $0 też jest OK.

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

    5:45 s/obrazie/systemie plików instancji kontenera/

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

      słuszna uwaga - przejęzyczenie z mojej strony.

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

      @@uwteamorg wiem że przejęzyczenie bo z dalszej części wynika, że wiesz o czym mówisz ;)
      Natomiast ponieważ jest to kluczowy aspekt dla zrozumienia idea rozwiązania to pozwoliłem sobie sprostować.
      Uwaga poboczna jest taka, że wiem że to tylko szybki dzesiecio minutowy filmik i nie jest to kurs dockera, ale mam wrażenie, że filmik miałby większą wartość edukacyjną jakbyś w miejscu gdzie się przejęzyczasz wyjaśnił chociaż pobieżnie ten niuans.

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

    Nie wiem co w tym filmie jest po 0:53:00 ale wystarczy odpalić
    cd /tmp
    echo "version=6" > config
    docker run -v /tmp/config:/app/config:ro -it unknow/wywrotka:latest

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

      Nie zadziała przy dockerze z snapa.

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

    sleep infinity ;-)

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

    Lepiej sobie podmontować własnego "busyboxa" przy docker run przez "-v" i sobie go odpalić tak jak chcesz. Lepsze niż kombinowanie jak na filmie.
    Film powinien pokazywać jak debugować namespace na linuxie - a nie komend dockera

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

      metod na wykonanie jednej akcji na Linuksie przeważnie jest kilka/kilkanaście. Film pokazuje dokładnie to, co chciałem aby pokazał.

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

      tu właśnie chodzi o kombinowanie :P chodzi o poszerzanie horyzontów, a niekoniecznie prostą drogę do celu

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

      @@uwteamorg kilka lat już siedzę w Linuxie, ale akurat z busybox pierwszy raz się spotkałem i powiem że aż się uśmiechąłem pod nosem jakie to jest proste i zaje*iste :) dzięki Unknow.

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

      @@mateuszcichocki1779 w alpine to jest, pewnie na wypadek gdyby usunięto sh, a alpine to częsty os w dockerach

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

      @@piotr780 Nie na wypadek gdyby usunięto tylko zamiast (a właściwie "w"):
      podman run -it --rm alpine
      / # ls -lah /bin/sh
      lrwxrwxrwx 1 root root 12 Jul 22 14:36 /bin/sh -> /bin/busybox
      Busy box jest popularny w rozwiązaniach wbudowanych np openwrt. Fragment z wiki openwrt:
      "BusyBox is used for several system utilities in OpenWrt like ash shell, cp, ls, echo, ping and many others. It provides tiny replacements with fewer options for most of the utilities from GNU Core Utilities, GNU Inetutils and other essential tools like gzip.
      All this utilities are compiled as “applets” into a single binary file /bin/busybox."