Ответы:
Вы можете использовать его, не делая ничего особенного. Если у вас есть локальный образ, blah
вы можете это сделать FROM blah
. Если вы это делаете FROM blah
в своем Dockerfile, но не вызываете локальный образ blah
, тогда Docker будет пытаться вытащить его из реестра.
Другими словами, если Dockerfile есть FROM ubuntu
, но у вас есть локальный образ, который называется ubuntu
отличным от официального, ваш образ переопределит его.
docker image list
.
Проверено: хорошо работает в Docker 1.7.0.
Кстати, не указывайте --pull=true
при запуске docker build
команды:
если вы хотите использовать локальное изображение в качестве основного изображения, пожалуйста , без опции
--pull=true
,--pull=true
всегда будет пытаться тянуть новую версию изображения.
-
символ ( my-image
например) в имени, тогда ваш докер не будет разрешать это изображение локально, я не знаю, почему, в любом случае, чтобы исправить это, просто не используйте -
символ, протестированный на docker-compose 1.8 и docker 1.11
Docker version 17.06.2-ce, build cec0b72
, но убедитесь, что если вы отметили свое изображение, вы включили этот тег как часть спецификации изображения (FROM localimage: tag).
Вы можете иметь символы - на ваших изображениях. Предположим, у вас есть локальный образ (не локальный реестр) с именем centos-base-image с тегом 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
результат
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
...
В приведенном выше примере FROM
получения вашего локального образа вы можете предоставить дополнительные инструкции для получения образа из вашего настраиваемого реестра (например FROM localhost:5000/my-image:with.tag
). См. Https://docs.docker.com/engine/reference/commandline/pull/#pull-from-a-different-registry и https://docs.docker.com/registry/#tldr.
Наконец, если ваше изображение не разрешается при указании имени, попробуйте добавить тег к изображению при его создании.
В этой ветке GitHub описывается аналогичная проблема отсутствия локальных изображений по имени .
Опуская конкретный тег, docker будет искать изображение с тегом "latest", поэтому либо создайте изображение с тегом: latest, либо измените свой FROM
Не забудьте поместить не только тег, но и репозиторий, в котором этот тег находится, следующим образом:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
elixir 1.7-centos7_3 e15e6bf57262 20 hours ago 925MB
Вы должны ссылаться на это так:
elixir:1.7-centos7_3