Blog

BuildKit jako domyślny builder w Dockerze

Niedawno, uruchamiając Dockera, napotkałem błąd:

ERROR: BuildKit is enabled but the buildx component is missing or broken. Install the buildx component to build images with BuildKit: https://docs.docker.com/go/buildx/

Dokumentacja BuildKita potwierdza, że ten builder został włączony jako domyślny, w wersji 23.0 Dockera.

a Ubuntu 22.04 otrzymało ostatnio aktualizację do wersji 24, co można znaleźć w liście paczek.

apt list również to potwierdza:

$ apt list | grep docker.io docker.io/jammy-updates,now 24.0.5-0ubuntu1~22.04.1 amd64 [installed]

Workaround, jaki można zastosować, to DOCKER_BUILDKIT=0, który przełącza Dockera na przestarzały builder.

$ DOCKER_BUILDKIT=0 docker build -f Dockerfile.base --build-arg UID=$(id -u) --build-arg GID=$(id -g) -t zephyr-build:v3.5.0 .

Jeśli chcielibyśmy korzystać z nowego buildera, co też jest zalecane, będziemy potrzebować sugerowanych, lecz brakujących paczek.

  1. Odszukujemy zgubę

    $ apt list | grep buildx docker-buildx/jammy-updates 0.11.2-0ubuntu1~22.04.1 amd64

  2. Ustawiamy plugin buildx jako domyślny

    $ docker buildx install

Wszystko gotowe! Jedyna różnica do poprzedniego polecenia, to dodanie opcji --load która zapisze zbudowany obraz w lokalnej bazie Dockera.

$ docker build -f Dockerfile --build-arg UID=$(id -u) --build-arg GID=$(id -g) -t zephyr-build:v3.5.0 --load .

Antena typu J-Pole 149MHz(Straż Pożarna + LPR) wraz z redukcją wpływu masztu i uziemienia

Antena typu J-Pole zaprojektowana w programie 4nec2 na częstotliwość 149MHz (Straż Pożarna + LPR).

Link do pliku na githubie: 149mhz_jpole.nec

Zrzuty z 4nec2 screenshot_jpole_149mhz_nec_1 screenshot_jpole_149mhz_nec_2 screenshot_jpole_149mhz_nec_3 screenshot_jpole_149mhz_nec_4