Docker exec с подпроцессом Python. Ошибка PopenPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Docker exec с подпроцессом Python. Ошибка Popen

Сообщение Anonymous »

Цель
Использовать docker exec на экземпляре EC2, чтобы запустить команду в другом контейнере, находящемся в этом экземпляре.
Код:

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

from base64 import decode
import json
import subprocess

with open('temp.json', 'r') as file:
event = json.load(file)
encoded = json.dumps(event)

a = ['/usr/bin/docker', 'exec', '-it', '4015980c98fb', 'python',  '-m', 'code.handler', encoded]

if __name__ == '__main__':
with subprocess.Popen(a, shell=False, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) as test:
print(f'ARGS: {test.args}')
for line in test.stdout:
line = line.decode().strip()
print(line)
Наблюдаемое поведение

На локальном компьютере: подпроцесс правильно инициируется и запускается

AWS ECS: Невозможно подключиться к демону Docker по адресу unix:///var/run/docker.sock. Демон Docker запущен?
  • Docker запущен? Изнутри выполняемой задачи ECS:

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

root@532795fd1aad:/# docker -h
Flag shorthand -h has been deprecated, use --help

Usage:  docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Common Commands:
run         Create and run a new container from an image
...
shell=True
Текст использования печатается локально и в AWS ECS, но команда отображается правильно:

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

ARGS: ['/usr/bin/docker', 'exec', '-it', '4015980c98fb', 'python', '-m', 'code.handler' '{...}',
Usage:  docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Options:
--config string      Location of client config files (default "/home/michael/.docker")
-c, --context string     Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set with "docker context
use")
...
Что я здесь упускаю/не понимаю?

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Php exec внутри exec/вложенный exec
    Anonymous » » в форуме Php
    0 Ответы
    65 Просмотры
    Последнее сообщение Anonymous
  • Проблема с подпроцессом.Popen в Python 3
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Exec /usr/java/openjdk-20/bin/java: ошибка формата exec при запуске образа Docker AWS ECS Fargate
    Anonymous » » в форуме JAVA
    0 Ответы
    115 Просмотры
    Последнее сообщение Anonymous
  • Параметры «исполняемый файл» для цели org.codehaus.mojo:exec-maven-plugin:1.2.1:exec отсутствуют или недействительны.
    Anonymous » » в форуме JAVA
    0 Ответы
    64 Просмотры
    Последнее сообщение Anonymous
  • Не удалось выполнить цель org.codehaus.mojo:exec-maven-plugin:1.3.2:exec (по умолчанию) в проекте mavenproject2:
    Anonymous » » в форуме JAVA
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous

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