Docker中的AWS Session Manager无限期输出^ @

时间:2019-01-10 13:43:29

标签: amazon-web-services docker ssm

我已经使用awscli和会话管理器从python:3.6构建了一个自定义docker映像:

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 :(得分:0)

刚发现解决方案将写出问题。

我在-it命令中添加了docker run(交互式)。

所以命令现在是:

#!/bin/bash

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

问题解决了。