Как подтолкнуть к составному изображению ECR?

У меня есть файл 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 ответ

Решение

Все ваши док-контейнеры используют существующие образы (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
Другие вопросы по тегам