我想在主机上的当前目录中创建一个新的nextjs应用程序,但不安装node等。所以我运行了这样一个容器
docker run --rm -it -v $(pwd):/app node:17.8.0 bash
whoami
表明我是容器的根。然后我在容器中运行这些命令
cd /app
npx create-next-app@latest
然后得到这个输出
Need to install the following packages:
create-next-app@latest
Ok to proceed? (y) y
sh: 1: create-next-app: Permission denied
npm notice
npm notice New minor version of npm available! 8.5.5 -> 8.6.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v8.6.0
npm notice Run npm install -g npm@8.6.0 to update!
npm notice
我不明白为什么我会被拒绝,因为我是根。
它与主机目录的卷映射有关,因为如果我在没有卷映射的情况下运行容器,则该命令会起作用。
主机目录中的权限如下所示
drwxrwxr-x 2 hans hans 4096 Apr 9 10:35 .
drwxrwxr-x 11 hans hans 4096 Apr 9 10:21 ..
为什么会失败?我如何才能让它工作?