# Comandi ## Immagini ### Ricerca sul registry ```bash docker search docker search ubuntu ``` ### Scaricare un'immagine Per scaricare un'immagine, si utilizza il comando `docker pull`, specificando il nome dell'immagine e, se necessario, il `tag` per una versione specifica. Se il `tag` non è specificato, verrà scaricata l'ultima versione disponibile, indicata come `latest`. È possibile avere più versioni della stessa immagine sullo stesso sistema. ```bash docker pull docker pull ubuntu docker pull nginx:stable ``` Quando si scarica un'immagine, il terminale mostrerà un output simile al seguente: ```txt docker pull node:latest latest: Pulling from library/node c19952135643: Pull complete 7bbf972c6c2f: Pull complete 900e2c02f17f: Pull complete abe9c1abe6f3: Pull complete 09461c05d868: Pull complete 16707a187717: Pull complete 2b24aa75a958: Pull complete 74d4dfcbaa69: Pull complete Digest: sha256:601f205b7565b569d3b909a873cc9aa9c6f79b5052a9fe09d73e885760237c4c Status: Downloaded newer image for node:latest ``` Ogni hash rappresenta un layer che compone l'immagine, il quale introduce una modifica rispetto all'immaigne base. ### Lista e rimozione delle immagini ```bash docker image ls docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE node latest 2c85757b0aae 4 days ago 1.13GB ``` Questo comando fornisce, per ogni immagine scaricata, e per ogni versione, un resoconto. L'attributo della colonna `CREATED` indica quando l'immagine é stata creata dal suo autore, non quando l'abbiamo scaricata. Per rimuovere un'immagine specifica, esiste invece il comando `docker rmi :tag` oppure `docker rmi `. Per rimuovere invece tutte le immagini, eccetto quelle utilizzate da container avviati o stoppati, si utilizza il comando `docker image prune`. ### History Il comando `docker history :tag` ripercorre le istruzioni del Dockerfile utilizzate per costruire l'immagine indicata. Ad esempio: ```bash docker history node:latest IMAGE CREATED CREATED BY SIZE COMMENT 2c85757b0aae 4 days ago CMD ["node"] 0B buildkit.dockerfile.v0 4 days ago ENTRYPOINT ["docker-entrypoint.sh"] 0B buildkit.dockerfile.v0 4 days ago COPY docker-entrypoint.sh /usr/local/bin/ # … 388B buildkit.dockerfile.v0 4 days ago RUN /bin/sh -c set -ex && export GNUPGHOME… 5.34MB buildkit.dockerfile.v0 4 days ago ENV YARN_VERSION=1.22.22 0B buildkit.dockerfile.v0 4 days ago RUN /bin/sh -c ARCH= && dpkgArch="$(dpkg --p… 192MB buildkit.dockerfile.v0 4 days ago ENV NODE_VERSION=24.4.1 0B buildkit.dockerfile.v0 4 days ago RUN /bin/sh -c groupadd --gid 1000 node &&… 8.94kB buildkit.dockerfile.v0 18 months ago RUN /bin/sh -c set -ex; apt-get update; ap… 588MB buildkit.dockerfile.v0 18 months ago RUN /bin/sh -c set -eux; apt-get update; a… 177MB buildkit.dockerfile.v0 2 years ago RUN /bin/sh -c set -eux; apt-get update; a… 48.4MB buildkit.dockerfile.v0 2 years ago # debian.sh --arch 'amd64' out/ 'bookworm' '… 117MB debuerreotype 0.15 ``` Un ulteriore comando per ispezionare un'immagine é `docker inspect :tag`, il quale specifica le variabili d'ambiente, l'`entrypoint`, ossia il programma eseguito all'avvio del container, i vari layer, ecc.