0

我已经使用 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-***输出是:

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

你知道如何解决这个问题吗?

4

1 回答 1

0

刚刚发现解决方案会写问题。

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

所以现在的命令是:

#!/bin/bash

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

问题解决了。

于 2019-01-10T13:43:28.673 回答