Как устранить ошибку формата exec при запуске контейнера в ECS?

Ранее вопрос был связан с https://stackoverflow.com/questions/77266768/yarn-command-not-found-after-successful-docker-build. Это было исправлено, но моя проблема связана с использованием оболочки./bin/sh.

Вот что я пытаюсь сделать: Используйтеyarnи установить его наamazonlinux:2изображение. Вот мой Dockerfile:

      FROM amazonlinux:2

RUN yum update -y && \
    yum install -y tar curl gzip zip unzip aws-cli

RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | sh && \
    . ~/.nvm/nvm.sh && \
    nvm install 14 && \
    nvm alias default 14 && \
    nvm use default && \
    npm install -g yarn

USER root

COPY .bashrc /root/.bashrc

COPY entrypoint.sh /root/entrypoint.sh

RUN chmod +x /root/entrypoint.sh

ENTRYPOINT [ "/root/entrypoint.sh" ]

И это мой.bashrcфайл

      #!/bin/sh
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

И это мойentrypoint.sh

      #!/bin/sh
. /root/.bashrc
exec "$@"

Все, что я получаю, это при попытке запустить контейнер из ECS:exec /root/entrypoint.sh: exec format errorиEssential container in task exited.

Как устранить ошибку формата exec?

0 ответов

Другие вопросы по тегам