Szukaj…


Składnia

  • obrazy dokerów [OPCJE] [REPOSITORY [: TAG]]
  • doker sprawdź [OPCJE] POJEMNIK | OBRAZ [POJEMNIK | OBRAZ ...]
  • ściąganie dokerów [OPCJE] NAZWA [: TAG | @DIGEST]
  • docker rmi [OPCJE] OBRAZ [OBRAZ ...]
  • tag dokera [OPCJE] IMAGE [: TAG] [REGISTRYHOST /] [USERNAME /] NAME [: TAG]

Pobieranie obrazu z Docker Hub

Zwykle obrazy są pobierane automatycznie z Docker Hub . Docker podejmie próbę pobrania dowolnego obrazu z Docker Hub, który jeszcze nie istnieje na hoście Docker. Na przykład użycie narzędzia docker run ubuntu gdy obraz ubuntu nie jest jeszcze na hoście Docker, spowoduje, że Docker zainicjuje ściągnięcie najnowszego obrazu ubuntu . Możliwe jest osobne docker pull obrazu za pomocą narzędzia docker pull aby ręcznie pobrać lub zaktualizować obraz z Docker Hub.

docker pull ubuntu
docker pull ubuntu:14.04

Istnieją dodatkowe opcje pobierania z innego rejestru obrazów lub pobierania określonej wersji obrazu. Wskazanie alternatywnego rejestru odbywa się przy użyciu pełnej nazwy obrazu i opcjonalnej wersji. Na przykład następujące polecenie spróbuje wyciągnąć obraz ubuntu:14.04 z registry.example.com register.example.com:

docker pull registry.example.com/username/ubuntu:14.04

Wyświetlanie lokalnie pobranych zdjęć

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              693bce725149        6 days ago          967 B
postgres            9.5                 0f3af79d8673        10 weeks ago        265.7 MB
postgres            latest              0f3af79d8673        10 weeks ago        265.7 MB

Odwoływanie się do zdjęć

Polecenia dokera, które przyjmują nazwę obrazu, akceptują cztery różne formy:

Rodzaj Przykład
Krótki identyfikator 693bce725149
Nazwa hello-world (domyślnie :latest tag)
Nazwa + tag hello-world:latest
strawić hello-world@sha256:e52be8ffeeb1f374f440893189cd32f44cb166650e7ab185fa7735b7dc48d619

Uwaga: do obrazu można odwołać się tylko po jego streszczeniu, jeśli obraz ten został pierwotnie pobrany za pomocą tego skrótu. Aby zobaczyć podsumowanie obrazu (jeśli taki jest dostępny), uruchom docker images --digests .

Usuwanie obrazów

Polecenie docker rmi służy do usuwania obrazów:

docker rmi <image name>

Aby usunąć obraz, należy użyć pełnej nazwy obrazu. O ile obraz nie został oznaczony w celu usunięcia nazwy rejestru, należy go określić. Na przykład:

docker rmi registry.example.com/username/myAppImage:1.3.5

Zamiast tego można również usunąć obrazy według ich identyfikatora:

docker rmi 693bce725149

Dla wygody możliwe jest usuwanie obrazów według ich ID obrazu, podając tylko kilka pierwszych znaków ID obrazu, o ile określony podciąg jest jednoznaczny:

docker rmi 693

Uwaga: obrazy można usunąć, nawet jeśli istnieją istniejące kontenery, które używają tego obrazu; docker rmi po prostu „odznacza” obraz.

Jeśli żaden kontener nie korzysta z obrazu, jest on odśmiecany. Jeśli kontener korzysta z obrazu, obraz zostanie wyrzucony do pamięci po usunięciu wszystkich kontenerów, które z niego korzystają. Na przykład:

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED                  STATUS                     PORTS               NAMES
5483657ee07b        hello-world         "/hello"            Less than a second ago   Exited (0) 2 seconds ago                       small_elion

$ docker rmi hello-world
Untagged: hello-world:latest

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED                  STATUS                      PORTS               NAMES
5483657ee07b        693bce725149        "/hello"            Less than a second ago   Exited (0) 12 seconds ago                       small_elion

Usuń wszystkie obrazy bez uruchomionych pojemników

Aby usunąć wszystkie lokalne obrazy, które nie mają uruchomionych kontenerów, możesz podać listę obrazów jako parametr:

docker rmi $(docker images -qa)

Usuń wszystkie obrazy

Jeśli chcesz usunąć obrazy niezależnie od tego, czy mają one otwarty kontener, użyj flagi wymuszenia ( -f ):

docker rmi -f $(docker images -qa)

Usuń zwisające obrazy

Jeśli obraz nie jest oznaczony i nie jest używany przez żaden kontener, jest „wiszący” i można go usunąć w następujący sposób:

docker images -q --no-trunc -f dangling=true | xargs -r docker rmi

Wyszukaj obrazy w Docker Hub

Możesz wyszukiwać obrazy w Docker Hub za pomocą polecenia wyszukiwania :

docker search <term>

Na przykład:

$ docker search nginx
NAME                      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                     Official build of Nginx.                        3565      [OK]
jwilder/nginx-proxy       Automated Nginx reverse proxy for docker c...   717                  [OK]
richarvey/nginx-php-fpm   Container running Nginx + PHP-FPM capable ...   232                  [OK]
...

Sprawdzanie zdjęć

docker inspect <image>

Dane wyjściowe są w formacie JSON. Za pomocą narzędzia wiersza polecenia jq można analizować i drukować tylko żądane klawisze.

docker inspect <image> | jq -r '.[0].Author'

Powyższe polecenie pokaże nazwę autora obrazów.

Oznaczanie zdjęć

Tagowanie obrazu jest przydatne do śledzenia różnych wersji obrazu:

docker tag ubuntu:latest registry.example.com/username/ubuntu:latest

Kolejny przykład tagowania:

docker tag myApp:1.4.2 myApp:latest
docker tag myApp:1.4.2 registry.example.com/company/myApp:1.4.2

Zapisywanie i ładowanie obrazów Docker

docker save -o ubuntu.latest.tar ubuntu:latest

To polecenie zapisze ubuntu:latest obraz jako archiwum tarball w bieżącym katalogu o nazwie ubuntu.latest.tar . To archiwum tarball można następnie przenieść na inny host, na przykład przy użyciu rsync , lub zarchiwizować w pamięci.

Po przeniesieniu tarballa następujące polecenie utworzy obraz z pliku:

docker load -i /tmp/ubuntu.latest.tar

Teraz możliwe jest tworzenie kontenerów z ubuntu:latest obraz jak zwykle.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow