Как вручную вставить созданное изображение в ECR? - PullRequest
0 голосов
/ 04 января 2019

У меня есть файл docker-compose:

version: '3.4'
services:
  nginx:
    container_name: some-nginx
    image: nginx:latest
    restart: always
    ports:
      - 80:80
      - 443:443

  mongodb:
    container_name: some-mongo
    image: mongo:latest
    environment:
      - MONGO_DATA_DIR=/data/db
      - MONGO_LOG_DIR=/dev/null
    ports:
      - 27017:27017
    command: mongod --smallfiles --logpath=/dev/null # --quiet

Я хочу перейти в Amazon Elastic Container Registry (ECR), используя команды:

docker tag testapper:latest 619625705037.dkr.ecr.us-east-2.amazonaws.com/testapper:latest

Но я получил сообщение:

Ошибка ответа от демона: Нет такого изображения: testapper: latest

Когда я запускаю docker-compose build, я получаю это сообщение:

nginx uses an image, skipping
mongodb uses an image, skipping

Что это значит? Как подтолкнуть мои изображения к ECR?

1 Ответ

0 голосов
/ 04 января 2019

Все ваши док-контейнеры используют существующие образы (image ключевое слово)

services:
  nginx:
    image: nginx:latest

  mongodb:
    image: mongo:latest

поэтому вам не нужно их строить.

Я полагаю, что ECS найдет эти официальные изображения самостоятельно, поэтому вам не нужно отправлять их в частное хранилище (ECR). (не уверен на 100%)

В случае, если вы хотите нажать на специально созданное изображение, общий поток будет

docker build -t your_image_name:tag path
docker tag your_image_name:tag 619625705037.dkr.ecr.us-east-2.amazonaws.com/your_image_name:tag
# or
docker build -t 619625705037.dkr.ecr.us-east-2.amazonaws.com/your_image_name:tag path


docker push 619625705037.dkr.ecr.us-east-2.amazonaws.com/your_image_name:tag

Вы можете использовать docker-compose build для создания и тегирования одновременно, если ваш файл для компоновки похож на

services:
  nginx:
    image: 619625705037.dkr.ecr.us-east-2.amazonaws.com/your_image_name:tag
    build: ./my-nginx-path
...