Réponses:
Vous pouvez l'utiliser sans rien faire de spécial. Si vous avez une image locale appelée, blah
vous pouvez le faire FROM blah
. Si vous le faites FROM blah
dans votre Dockerfile, mais ne pas avoir une image locale appelée blah
, puis Docker va essayer de tirer à partir du Registre.
En d'autres termes, si un Dockerfile le fait FROM ubuntu
, mais que vous avez une image locale appelée ubuntu
différente de l'image officielle, votre image la remplacera.
docker image list
.
Vérifié: cela fonctionne bien dans Docker 1.7.0.
BTW, ne spécifiez pas --pull=true
lors de l'exécution de la docker build
commande:
si vous voulez utiliser l'image locale comme image de base, s'il vous plaît sans l'option
--pull=true
,--pull=true
essaiera toujours d'extraire une version plus récente de l'image.
-
caractère ( my-image
par exemple) dans le nom, votre docker ne résoudra pas cette image localement, je ne sais pas pourquoi, de toute façon pour la réparer, n'utilisez tout simplement pas de -
caractère, testé sur docker-compose 1.8 et docker 1.11
Docker version 17.06.2-ce, build cec0b72
, mais assurez-vous que si vous avez tagué votre image, vous incluez la balise dans le cadre de la spécification de l'image (FROM localimage: tag).
Vous pouvez avoir - des caractères dans vos images. Supposons que vous ayez une image locale (pas un registre local) nommée centos-base-image avec la balise 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
Résultat
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
...
Dans l'exemple ci FROM
- dessus , vous récupérez votre image locale, vous pouvez fournir des instructions supplémentaires pour récupérer une image de votre registre personnalisé (par exemple FROM localhost:5000/my-image:with.tag
). Voir https://docs.docker.com/engine/reference/commandline/pull/#pull-from-a-different-registry et https://docs.docker.com/registry/#tldr
Enfin, si votre image n'est pas résolue lors de la fourniture d'un nom, essayez d' ajouter une balise à l'image lorsque vous la créez
En omettant une balise spécifique, le docker recherchera une image étiquetée «dernière», donc créez une image avec la balise: latest, ou modifiez votre FROM
N'oubliez pas de mettre non seulement la balise mais aussi le référentiel dans lequel se trouve cette balise, de cette façon:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
elixir 1.7-centos7_3 e15e6bf57262 20 hours ago 925MB
Vous devriez le référencer de cette façon:
elixir:1.7-centos7_3