Это сработало для меня. Докер 1.13.1.

ющая команда завершается неудачно, пытаясь извлечь образ из Docker Hub:

$ docker-compose up -d
Pulling web-server (web-server:staging)...
ERROR: repository web-server not found: does not exist or no pull access

Но я просто хочу использовать локальную версию изображения, которая существует:

$ docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
web-server           staging             b94573990687        7 hours ago         365MB

Почему Docker не выполняет поиск среди локально сохраненных изображений?

Это мой файл Docker Compose:

version: '3'
services:
  chat-server:
    image: chat-server:staging
    ports:
      - "8110:8110"
  web-server:
    image: web-server:staging
    ports:
      - "80:80"
      - "443:443"
      - "8009:8009"
      - "8443:8443"

и мой файл .env:

DOCKER_HOST=tcp://***.***.**.**:2376
DOCKER_TLS_VERIFY=true 
DOCKER_CERT_PATH=/Users/Victor/Documents/Development/projects/.../target/docker
 Aliakbar Abbasi04 сент. 2017 г., 10:22
Возможно одна из этих работ: перезапуск службы Docker; построение образа веб-сервера заново с помощью сборки докера; а затем, пытаясь запустить docker-compose.
 SangminKim09 нояб. 2017 г., 11:11
Как насчет того, чтобы попробовать с частичным идентификаторомimage: b94573990687
 Victor Dombrovsky04 сент. 2017 г., 10:30
@DenisTsoi Я добавил свой файл docker-compose. Как мне проверить, что изображение было построено локально? Я предоставил выводdocker images команда, которая перечисляет мое изображение. Я полагаю, это подтверждает, что изображение на самом деле было построено здесь.
 Denis Tsoi04 сент. 2017 г., 10:33
Я полагаю, вы не нажалиweb-server или жеchat-server вdocker-hubтогда вам, возможно, придется ссылаться на него как на относительный путь.
 Denis Tsoi04 сент. 2017 г., 09:42
Можете ли вы проверить, что образ веб-сервера был создан локально?docker-compose.yml файл

Ответы на вопрос(3)

это должно работать так, как вы это описываете. Пытался воспроизвести, но это просто сработало ...

Структура папки:

.
├── docker-compose.yml
└── Dockerfile

Содержание Dockerfile:

FROM alpine
CMD ["echo", "i am groot"]

Построить и пометить изображение:

docker build -t groot .
docker tag groot:latest groot:staging

с помощью docker-compose.yml:

version: '3.1'
services:
  groot:
    image: groot:staging

и запустите docker-compose:

$ docker-compose up
Creating groot_groot ... 
Creating groot_groot_1 ... done
Attaching to groot_groot_1
groot_1  | i am groot
groot_groot_1 exited with code 0

В вашем docker-compose.yml вы можете указатьbuild: . вместоbuild: <username>/repo> для локальных сборок (вместо извлечения из docker-hub) - я пока не могу это проверить, но я вам верюмай уметь делать относительные пути для нескольких сервисов к файлу docker-compose.

services:
  app:
    build: .

Ссылка:https://github.com/gvilarino/docker-workshop

 Denis Tsoi04 сент. 2017 г., 10:22
Это хороший момент, и я согласен - его не следует использовать ни при каких нормальных обстоятельствах, однако, я считаю, что это будет быстрый шаг по сравнению со сборкой локально, а затем переходом на концентратор докеров (особенно если вы хотите проверить, взаимодействуют ли сервисы с друг друга) -
 Aliakbar Abbasi04 сент. 2017 г., 10:20
Я знаю, что возможно создать изображение локально, но я думаю, что это не очень хорошая идея. На мой взгляд, лучше разделить этапы сборки и запуска, как указано здесь:12factor.net/build-release-run
 Josiah27 дек. 2018 г., 15:27
Я из будущего, и я убедился, чтоbuild: ./app ... build: ./other-app работает

вам придется изменить тег изображения, чтобы две части были разделены косой чертой/, Так что вместо

chat-server:staging

сделать что-то вроде:

victor-dombrovsky/chat-server:staging

Я думаю, что за тегами Docker есть какая-то логика, и теги «одна часть» интерпретируются как официальные изображения, поступающие из DockerHub.

 Z. Cochrane17 сент. 2018 г., 21:30
Это сработало для меня. Докер 1.13.1.

Ваш ответ на вопрос