Risposte:
Puoi usarlo senza fare nulla di speciale. Se hai un'immagine locale chiamata blah
puoi farlo FROM blah
. Se si fare FROM blah
nel vostro Dockerfile, ma non hanno un'immagine locale chiamato blah
, quindi Docker proverà a tirarlo dal Registro di sistema.
In altre parole, se un Dockerfile lo fa FROM ubuntu
, ma hai un'immagine locale chiamata ubuntu
diversa da quella ufficiale, la tua immagine la sovrascriverà.
docker image list
.
Verificato: funziona bene in Docker 1.7.0.
BTW, non specificare --pull=true
durante l'esecuzione del docker build
comando:
se si desidera utilizzare l'immagine locale come immagine di base, senza l'opzione
--pull=true
,--pull=true
tenterà sempre di estrarre una versione più recente dell'immagine.
-
carattere ( my-image
ad esempio) nel nome, la finestra mobile non risolverà questa immagine localmente, non so perché, comunque per risolverla semplicemente non usare il -
carattere, testato su docker-compose 1.8 e
Docker version 17.06.2-ce, build cec0b72
, ma assicurati di includere il tag come parte della specifica dell'immagine (FROM localimage: tag) se hai taggato la tua immagine.
Puoi avere - personaggi nelle tue immagini. Supponiamo di avere un'immagine locale (non un registro locale) denominata centos-base-image con tag 7.3.1611.
docker version
Client:
Version: 1.12.6
API version: 1.24
Package version: docker-common-1.12.6-16.el7.centos.x86_64
Go version: go1.7.4
Server:
Version: 1.12.6
API version: 1.24
Package version: docker-common-1.12.6-16.el7.centos.x86_64
Go version: go1.7.4
docker images
REPOSITORY TAG
centos-base-image 7.3.1611
Dockerfile
FROM centos-base-image:7.3.1611
RUN yum -y install epel-release libaio bc flex
Risultato
Sending build context to Docker daemon 315.9 MB
Step 1 : FROM centos-base-image:7.3.1611
---> c4d84e86782e
Step 2 : RUN yum -y install epel-release libaio bc flex
---> Running in 36d8abd0dad9
...
Nell'esempio sopra FROM
è il recupero della tua immagine locale, puoi fornire istruzioni aggiuntive per recuperare un'immagine dal tuo registro personalizzato (ad esempio FROM localhost:5000/my-image:with.tag
). Vedi https://docs.docker.com/engine/reference/commandline/pull/#pull-from-a-different-registry e https://docs.docker.com/registry/#tldr
Infine, se la tua immagine non viene risolta quando fornisci un nome, prova ad aggiungere un tag all'immagine quando la crei
Questo thread di GitHub descrive un problema simile di non trovare immagini locali per nome .
Omettendo un tag specifico, docker cercherà un'immagine contrassegnata con "latest", quindi crea un'immagine con il tag: latest o cambia il tuo FROM
Ricorda di inserire non solo il tag ma anche il repository in cui si trova quel tag, in questo modo:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
elixir 1.7-centos7_3 e15e6bf57262 20 hours ago 925MB
Dovresti fare riferimento in questo modo:
elixir:1.7-centos7_3