Respostas:
Você pode usá-lo sem fazer nada de especial. Se você tem uma imagem local chamada, blah
você pode fazer FROM blah
. Se você fizer FROM blah
em sua Dockerfile, mas não têm uma imagem local chamado blah
, em seguida, Docker vai tentar retirá-lo do registro.
Em outras palavras, se um Dockerfile tiver FROM ubuntu
, mas você tiver uma imagem local chamada ubuntu
diferente da oficial, sua imagem a substituirá.
docker image list
.
Verificado: funciona bem no Docker 1.7.0.
BTW, não especifique --pull=true
ao executar o docker build
comando:
se você quiser usar a imagem local como imagem de base, sem a opção
--pull=true
,--pull=true
sempre tentará obter uma versão mais recente da imagem.
-
caractere ( my-image
por exemplo) no nome, sua janela de encaixe não a resolverá localmente, não sei por que, de qualquer maneira, para corrigi-la, simplesmente não use -
caracteres, testados no docker-compose 1.8 e docker 1.11
Docker version 17.06.2-ce, build cec0b72
, mas verifique se você etiquetou sua imagem e incluiu a tag como parte da especificação da imagem (FROM localimage: tag).
Você pode ter - caracteres em suas imagens. Suponha que você tenha uma imagem local (não um registro local) chamada centos-base-image com a 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
Resultado
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
...
No exemplo acima, FROM
está buscando sua imagem local, você pode fornecer instruções adicionais para buscar uma imagem do seu registro personalizado (por exemplo FROM localhost:5000/my-image:with.tag
). Consulte https://docs.docker.com/engine/reference/commandline/pull/#pull-from-a-different-registry e https://docs.docker.com/registry/#tldr
Por fim, se sua imagem não estiver sendo resolvida ao fornecer um nome, tente adicionar uma tag à imagem ao criá-la
Este segmento do GitHub descreve um problema semelhante de não encontrar imagens locais por nome .
Ao omitir uma tag específica, o docker procurará uma imagem com a tag "mais recente"; portanto, crie uma imagem com a tag: latest ou altere seu FROM
Lembre-se de colocar não apenas a tag, mas também o repositório em que ela está, desta maneira:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
elixir 1.7-centos7_3 e15e6bf57262 20 hours ago 925MB
Você deve referenciá-lo desta maneira:
elixir:1.7-centos7_3