Skip to content
Natuurondernemer
    11 grudnia, 2020 by admin

    Tworzenie obrazu bazowego

    Tworzenie obrazu bazowego
    11 grudnia, 2020 by admin

    Przewidywany czas czytania: 3 minuty

    Większość plików Dockerfiles rozpoczyna się od obrazu macierzystego. Jeśli chcesz całkowicie kontrolować zawartość swojego obrazu, możesz zamiast tego utworzyć obraz bazowy.Oto różnica:

    • Obraz macierzysty jest obrazem, na którym opiera się twój obraz. Odnosi się on do zawartości dyrektywy FROM w plikuDockerfile. Każda kolejna deklaracja w pliku Dockerfile modyfikuje ten obraz macierzysty. Większość plików Dockerfile zaczyna się od obrazu macierzystego, a nie od obrazu bazowego, jednak terminy te są czasem używane zamiennie.

    • Obraz bazowy ma FROM scratch w swoim pliku Dockerfile.

    Ten temat pokazuje kilka sposobów tworzenia obrazu bazowego. Konkretny proces będzie w dużej mierze zależał od dystrybucji Linuksa, którą chcemy pakować. Poniżej przedstawiamy kilka przykładów i zachęcamy do składania wniosków o dodanie nowych.

    Tworzenie pełnego obrazu przy użyciu tar

    Generalnie, należy zacząć od działającej maszyny, która działa z dystrybucją, którą chcemy zapakować jako obraz macierzysty, choć nie jest to wymagane w przypadku niektórych narzędzi, takich jak Debian’sDebootstrap, które można również wykorzystać do budowania obrazów Ubuntu.

    Tworzenie obrazu macierzystego Ubuntu może być tak proste jak poniżej:

    $ sudo debootstrap xenial xenial > /dev/null$ sudo tar -C xenial -c . | docker import - xeniala29c15f1bf7a$ docker run xenial cat /etc/lsb-releaseDISTRIB_ID=UbuntuDISTRIB_RELEASE=16.04DISTRIB_CODENAME=xenialDISTRIB_DESCRIPTION="Ubuntu 16.04 LTS"

    W repozytorium DockerGitHub znajduje się więcej przykładowych skryptów do tworzenia obrazów macierzystych.

    Tworzenie prostego obrazu macierzystego przy użyciu scratch

    Możesz użyć zarezerwowanego, minimalnego obrazu Dockera, scratch, jako punktu wyjścia do budowania kontenerów. Użycie scratch „image” sygnalizuje procesowi budowania, że chcesz, aby następne polecenie w Dockerfile było pierwszą warstwą systemu plików w twoim obrazie.

    Pomimo że scratch pojawia się w repozytorium Dockera na hubie, nie możesz go wyciągnąć, uruchomić ani oznaczyć żadnego obrazu nazwą scratch. Zamiast tego możesz się do niego odwoływać w swoim Dockerfile. Na przykład, aby utworzyć minimalny kontener przy użyciuscratch:

    FROM scratchADD hello /CMD 

    Zakładając, że zbudowałeś przykład wykonywalny „hello”, postępując zgodnie z instrukcjami na stroniehttps://github.com/docker-library/hello-world/, i skompilowałeś go z flagą -static, możesz zbudować ten obraz Dockerimage używając tego docker build polecenia:

    docker build --tag hello .

    Nie zapomnij o znaku . na końcu, który ustawia kontekst budowania na bieżący katalog.

    Uwaga: Ponieważ Docker Desktop for Mac i Docker Desktop for Windows używają maszyny wirtualnej Linux, potrzebujesz binarki Linuxa, a nie binarki Maca lub Windowsa.Możesz użyć kontenera Docker, aby go zbudować:

    $ docker run --rm -it -v $PWD:/build ubuntu:16.04container# apt-get update && apt-get install build-essentialcontainer# cd /buildcontainer# gcc -o hello -static -nostartfiles hello.c

    Aby uruchomić nowy obraz, użyj polecenia docker run:

    docker run --rm hello

    Ten przykład tworzy obraz hello-world używany w tutorialach.Jeśli chcesz go przetestować, możesz sklonować repo tego obrazu.

    Więcej zasobów

    Jest wiele dostępnych zasobów, które pomogą ci napisać twój Dockerfile.

    Previous articlePediatra Lutz, FL - Sandhill Pediatrics - Pediatria dla Zdrowia RodzinyNext article Dlaczego 'Bharat', 'Indie' i 'Hindustan' wywołują różne emocje

    Dodaj komentarz Anuluj pisanie odpowiedzi

    Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

    Najnowsze wpisy

    • Znalezienie siebie (i innych…) w rocznikach online
    • Jak skonfigurować Bitcoin ASIC miner
    • Chris Martin ma urodziny w Disneylandzie z Dakotą Johnson
    • Co to jest teren Superfund?
    • Fishing-bait bloodworms have bee-sting bites
    • Władca Much
    • A Beginner’s Guide to Pegging
    • 42 Healthy Crockpot Soup Recipes
    • Tina Fey Biografia
    • Nike wydało 15 000 dolarów na specjalną maszynę tylko po to, aby Florida State center Michael Ojo’s shoes

    Archiwa

    • Kwiecień 2021
    • Marzec 2021
    • Luty 2021
    • Styczeń 2021
    • Grudzień 2020
    • Listopad 2020
    • Październik 2020
    • Wrzesień 2020
    • Sierpień 2020
    • Lipiec 2020
    • Czerwiec 2020
    • Maj 2020
    • Kwiecień 2020
    • DeutschDeutsch
    • NederlandsNederlands
    • EspañolEspañol
    • FrançaisFrançais
    • PortuguêsPortuguês
    • ItalianoItaliano
    • PolskiPolski

    Meta

    • Zaloguj się
    • Kanał wpisów
    • Kanał komentarzy
    • WordPress.org
    Posterity WordPress Theme