Je travaille sur un fichier de dock… .. Je viens de me rendre compte que j'ai utilisé FROM
avec des images indexées depuis le début.
Alors je me demande:
FROM
) sans pushing
dans l'index?Vous pouvez l'utiliser sans rien faire de spécial. Si vous avez une image locale appelée blah
, vous pouvez faire FROM blah
. Si vous avez FROM blah
dans votre fichier Docker, mais que n'a pas une image locale appelée blah
, alors Docker essaiera de l'extraire du registre.
En d'autres termes, si un fichier Dockerfile utilise FROM ubuntu
, mais que vous avez une image locale appelée ubuntu
différente de celle officielle, votre image la remplacera.
Vérifié: cela fonctionne bien dans Docker 1.7.0.
En passant, ne spécifiez pas --pull=true
lors de l'exécution de la commande docker build
:
si vous voulez utiliser l'image locale comme image de base, veuillez ne pas utiliser le L'option
--pull=true
,--pull=true
tentera toujours d'extraire un plus récent version de l'image.
Vous pouvez avoir - des personnages dans vos images. Supposons que vous avez une image locale (et non 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-dessus, FROM
récupère votre image locale, vous pouvez fournir des instructions supplémentaires pour extraire 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 lorsque vous donnez un nom, essayez ajoutez une balise à l’image lorsque vous la créez
En omettant une balise spécifique, docker recherchera une image étiquetée "dernière". Vous devez donc créer une image avec la balise: latest ou modifier votre
N'oubliez pas de mettre non seulement la balise mais également 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