#python #amazon-web-services #docker #aws-batch
Вопрос:
Я создал простой контейнер docker для запуска скрипта python из контейнера:
FROM python:3
WORKDIR /usr/src/app
COPY . .
CMD ["test.py"]
ENTRYPOINT ["python3"]
Я создаю его, docker build -t hello-demo .
а затем запускаю docker run -it hello-demo test.py
и получаю результат.
Но что я хочу сделать, так это иметь возможность повторить это не на моем ноутбуке, а с помощью пакета AWS. Но я не уверен, как определить имя контейнера, которое создает пакет. Когда я вручную создаю контейнер, я указываю, как я его называю, но я не уверен, как вызвать правильный контейнер при выполнении моей команды запуска docker.
Есть какие-нибудь мысли? Или я делаю это неправильно? Спасибо! D
Ответ №1:
Во-первых, отличите изображение Docker от контейнера Docker. Вы создаете образ Docker, и контейнер является запущенным экземпляром образа (более подробную информацию см. в обзоре Docker). При локальном запуске образа Docker вы указываете, какой образ Docker следует запускать, а также (необязательно) имя контейнера.
При использовании пакета AWS вы создаете определение задания, которое определяет, какой образ Docker он будет использовать. Таким образом, образ Docker уже должен существовать в каком-либо реестре, будь то Docker Hub, ECR или любой другой реестр. Вы также можете определить другие свойства контейнера, например команду, которая будет выполняться.
Чтобы фактически запустить пакетное задание, вы отправляете его в очередь, используя определение задания (в котором указан образ Docker, как указано выше).