Менеджер сеансов AWS в выводе докера ^ @ неопределенно - PullRequest
0 голосов
/ 10 января 2019

Я создал собственный образ докера из python: 3.6 с awscli и менеджером сессий:

FROM python:3.6

WORKDIR /app

RUN pip3 install -U awscli
RUN apt-get update -y && \
    apt-get install groff less curl -y && \
    curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb" -o "session-manager-plugin.deb" && \
    dpkg -i session-manager-plugin.deb && \
    rm -f session-manager-plugin.deb

RUN curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb" -o "session-manager-plugin.deb" && \
    dpkg -i session-manager-plugin.deb && \
    rm -f session-manager-plugin.deb

ENTRYPOINT ["aws"]

Я создал пользовательский исполняемый файл в /usr/bin/aws:

#!/bin/bash

docker run --rm -v "$(pwd)":"/app" -v "/root/.aws/":"/root/.aws" python-aws "$@"

Когда я запускаю aws ssm start-session --target i-***, вывод:

^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
...

Знаете, как решить проблему?

1 Ответ

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

Только что найденное решение будет писать вопрос.

Я добавил -it (интерактивно) к команде docker run.

Итак, команда теперь:

#!/bin/bash

docker run -it --rm -v "$(pwd)":"/app" -v "/root/.aws/":"/root/.aws" python-aws "$@"

Проблема решена.

...