Я пытаюсь создать контейнер 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, которая неприменима к моему файлу.