Docker – Dockerfile i tworzenie obrazów

Dzisiaj nauczymy się w jaki sposób stworzyć obraz konterera samodzielnie z pliku Dockerfile i następnie użyć go do uruchomienia kontenera.

#technologia #konteneryzacja #docker #linux
e3378938-6f11-47d8-ad66-f5cefce2f6ea
NrmvY

Ja niedawno zrobiłem pierwszy obraz i zdeplojowałem kontener. Nic wielkiego, uruchamia skrypt pythona który przechwytuje dane z czujników Home Assistant i loguje do CSV. Ale fajna sprawa, że to tak działa dosyć prosto.

koszotorobur

@NrmvY - używanie kontenerów a także ich budowanie jest banalne - i to staram się unaoocznić i zachęcić ludzi do ich spróbowania jeśli tego jeszcze nie zrobili.


Oczywiście jak ktoś chce zrozumieć jakie technologie umożliwiają kontenery to tu już zaczynają się lekkie schody bo trzeba zrozumieć funkcjonalności wbudowane w kernel Linuksa - przykład tutaj gdzie wyjaśniam OverlayFS, którego artykuły nie porusza, ale bez niego nie byłoby kontenerów w obecnej formie.

NrmvY

@koszotorobur miałem pewne schody bo budowałem obraz na windowsie a deploy na NASie z arm64 ale z GPT4 udało się rozwiązać to w kilka minut.

koszotorobur

@NrmvY - QEMU czy coś innego?

NrmvY

@koszotorobur nie rozumiem o co chodzi z QEMU. Jedyne co kojarzę to tylko emulator konsoli.

koszotorobur

@NrmvY - QEMU potrafi emulować ARM: https://www.qemu.org/docs/master/system/target-arm.html

Jestem ciekaw jak rozwiązałeś problem budowy kontenera przeznaczonego pod ARM na Windowsie.

NrmvY

Co ciekawe base image był pythona, jak twierdzi GPT jest multi-arch ale z jakiegoś powodu nie pykło, musiałem użyć buildx

koszotorobur

@NrmvY

Oficjalne obrazy kontenerów Pythona nie są multi-arch - zobacz zrzut ekranu, który dołączyłem, który pokazuje, że każdy obraz wspiera tylko jedną architekturę.

Oczywiście da się znaleźć takie obrazy kontenerów Pythona, które zbudowane są tak by wspierać różne architektury - na przykład: https://github.com/multi-py .

Narzędzie buldix to ciekawe rozwiązanie tego problemu - dzięki, że się nim podzieliłeś!

Dodatkowo widzę, że podman (którego można zainstalować na Windowsie) też pozwala budować obrazy kontenerów pod różne architektury: https://docs.podman.io/en/latest/markdown/podman-build.1.html#arch-arch

ca67faee-8067-41a4-a112-9ebfcc155c14

Zaloguj się aby komentować