【发布时间】:2021-09-04 06:44:35
【问题描述】:
我创建了一个 react 应用程序并尝试在具有卷的 docker 容器上运行它(将容器内的内容与外部文件映射),之前一切正常,但现在面临共享问题。 任何人都可以帮助我吗?这是一个权限问题,但不知道如何解决。 root 用户有权访问 node_modules 文件夹。如何授予节点用户访问权限?
我的 docker 文件
FROM node:alpine
USER node
WORKDIR '/home/node'
COPY package.json .
RUN npm install
COPY . .
CMD ["npm", "run", "start"]
使用的命令:
docker build -t frontend -f Dockerfile.dev .
docker run -p 3000:3000 -v /home/node/node_modules -v $(pwd):/home/node frontend:latest
容器内访问:
~ $ ls -l
total 1488
-rw-rw-r-- 1 node node 124 Jun 20 08:37 Dockerfile.dev
-rw-rw-r-- 1 node node 3369 Jun 17 18:25 README.md
drwxr-xr-x 3 node node 4096 Jun 17 18:45 build
-rw-rw-r-- 1 node node 230 Jun 20 06:56 docker-compose.yml
drwxrwxr-x 1041 root root 36864 Jun 20 19:15 node_modules
-rw-rw-r-- 1 node node 1457680 Jun 18 18:28 package-lock.json
-rw-rw-r-- 1 node node 811 Jun 17 18:26 package.json
drwxrwxr-x 2 node node 4096 Jun 17 18:25 public
drwxrwxr-x 2 node node 4096 Jun 17 18:25 src
【问题讨论】:
-
尝试运行
chmod 777 /app/node_modules,也请不要在问题中发布图片,将文字复制到这里 -
此命令不起作用,显示不允许操作。我添加了更多细节来质疑它是否有助于解决。
-
你试过
sudo吗?喜欢sudo chmod 777 /app/node/node_moduels -
您是否有一个
.dockerignore文件从图像中排除了主机的node_modules目录?docker run -v选项将图像内容替换为其他地方的内容,这使得该设置不是特别具有可重复性;删除这些选项有帮助吗? -
上述方法均无效。
标签: reactjs docker permissions dockerfile npm-start