Как использовать личное изображение от AWS ECR с Dockeroperator's Airflow?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как использовать личное изображение от AWS ECR с Dockeroperator's Airflow?

Сообщение Anonymous »

Я создал пользовательский пакет с CLI (построенный с помощью клика). Этот пакет может выполнять две вещи: запустить предварительную обработку и запустить модель машинного обучения.
Я создал изображение Docker этого пакета клиентов и подтолкнул его к частному реестру в AWS (ECR). Я запускаю его с помощью Docker-Compose.

Код: Выделить всё

from datetime import timedelta
import airflow
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from airflow.operators.docker_operator import DockerOperator

default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': airflow.utils.dates.days_ago(1),
'email': ['[email protected]'],
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=5)
}

dag = DAG(
'example_pipeline',
default_args=default_args,
description='example data pipeline.',
schedule_interval=timedelta(minutes=3)
)

t1 = BashOperator(
task_id='starting_airflow',
bash_command='echo "Starting Airflow DAG..."',
dag=dag,
)

t2 = DockerOperator(
task_id='data_pipeline',
image='XXXXXXXX.dkr.ecr.eu-central-1.amazonaws.com/rwg:latest',
container_name='task__export_data',
command="run-preprocessing",
network_mode="bridge",
api_version="auto",
docker_url="unix://var/run/docker.sock",
docker_conn_id='aws_con',
dag=dag
)

t1 >> t2
< /code>
Я создал через пользовательский интерфейс 'aws_con'. Но это не работает.version: '3'
services:
postgres:
image: postgres:9.6
environment:
- POSTGRES_USER=airflow
- POSTGRES_PASSWORD=airflow
- POSTGRES_DB=airflow
ports:
- "5432:5432"
volumes:
- ./pgdata:/var/lib/postgresql/data

webserver:
build: .
restart: always
depends_on:
- postgres
environment:
- LOAD_EX=n
- EXECUTOR=Local
- FERNET_KEY=jsDPRErfv8Z_eVTnGfF8ywd19j4pyqE3NpdUBA_oRTo=
volumes:
- ./dags:/usr/local/airflow/dags
ports:
- "8080:8080"
command: webserver
healthcheck:
test: ["CMD-SHELL", "[ -f /usr/local/airflow/airflow-webserver.pid ]"]
interval: 30s
timeout: 30s
retries: 3
Что я делаю неправильно в отношении оператора Docker?>

Подробнее здесь: https://stackoverflow.com/questions/693 ... eroperator
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • [Airflow]: динамическое сопоставление задач в DockerOperator с использованием Xcoms
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • [Airflow]: динамическое сопоставление задач в DockerOperator с использованием Xcoms
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Проблема с зависимостями при создании образа Docker для AWS ECR и Lambda
    Anonymous » » в форуме Python
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Вход в AWS ECR с помощью awscli и docker cli
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Как запустить команду apt-get update && apt-get install ffmpeg libsm6 libxext6 -y в контейнере Docker на AWS ECR?
    Anonymous » » в форуме Python
    0 Ответы
    91 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»