Tar на Docker не найден на шаге установки nvm - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь создать контейнер Docker, выполняющий файл node.js в Amazon Linux, чтобы позволить модулям нативных узлов компилироваться на компьютере в подходящей форме для AWS Lambda.

Я в основном следую этому учебнику по Разработчик Polyglot , но также попробовал один на AWS Blogs .Я пытаюсь собрать контейнер с помощью следующей команды в родительском каталоге Dockerfile.

docker build -t amazonlinux-node8 .

Шаги 1 и 2 завершены успешно, но на шаге 3 выдается следующая ошибка.

/root/.nvm/nvm.sh: ... tar: command not found

Затем он выходит со следующим сообщением.

The command '/bin/sh -c /bin/bash -c "source /root/.nvm/nvm.sh; nvm install 8.10.0"' returned a non-zero code: 1

Какие изменения мне нужно внести, чтобы исправить эту ошибку?

Dockerfile

FROM amazonlinux:latest

RUN curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

RUN /bin/bash -c "source /root/.nvm/nvm.sh; nvm install 8.10.0"

CMD /bin/bash -c "source /root/.nvm/nvm.sh; nvm use 8.10.0"

Я попробовал решение, предложенное для этого поста , добавив шаги для загрузки tar.x86_64, но это не удалось и не установится на образ amazonlinux.Я видел другое предлагаемое решение для этого поста , однако оно конкретно относится к использованию команды COPY в Dockerfile, которая неприменима к моему файлу.

...