我是一个有用的助手,可以为您翻译文本。
我被卡住了。正在通过Udemy.com上的Grider课程学习Docker。
每当我执行以下操作时,我都会收到以下错误:
我没有使用
这是我的存储库的副本,其中包含Dockerfile等:https://github.com/ishraqiyun77/docker_kubernetes。
在Windows 10专业版上的Windows子系统中运行,在WSL中运行
此外,在容器或本地文件系统中都不存在
我还将WSL更改为使用路径
我被卡住了。正在通过Udemy.com上的Grider课程学习Docker。
每当我执行以下操作时,我都会收到以下错误:
docker run -p 3000:3000 -v /app/node_modules -v $(pwd):/app 5932996c40dc
npm ERR! path /app/package.json
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open '/app/package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2019-01-30T23_04_17_890Z-debug.log
我注释掉了这个命令,因为我想要看看它试图执行什么并返回的结果是:
docker run -p 3000:3000 -v /app/node_modules -v /mnt/c/projects/courses/docker_kubernetes/frontend:/app 5932996c40dc
我没有使用
-v
来运行镜像,这样我就可以启动容器并通过exec -it
进入容器,查看容器中的内容。容器内显示的一切都是应该的。它将所有内容复制到了容器中的/app
目录下。
我用来构建镜像的命令是docker build -f Dockerfile.dev .
,并从本地版本中删除node_modules
。这是我的存储库的副本,其中包含Dockerfile等:https://github.com/ishraqiyun77/docker_kubernetes。
在Windows 10专业版上的Windows子系统中运行,在WSL中运行
docker-client
,在VMWare Workstation Player 15中运行docker-daemon
。 我确保使用了.env
文件,其中包含CHOKIDAR_USEPOLLING=true
。尚不确定是否存在配置问题,但是谁知道呢,可能会出现问题。此外,在容器或本地文件系统中都不存在
/root/.npm/_logs/2019-01-30T23_04_17_890Z-debug.log
。我还将WSL更改为使用路径
/c/projects
而非/mnt/c/projects
。
$(pwd)
时,它会用frontend
目录中的任何内容覆盖包含package.json
的目录,这个目录很可能不包含package.json
。通过使用-v /app/node_modules -v $(pwd):/app
,您想要实现什么? - Jack Gorepackage.json
文件同时存在于本地和容器副本中。-v /app/node_modules
应该只使用容器中的node_modules
副本,以便可以删除本地副本。-v $(pwd):/app
将当前目录(/mnt/c/projects/courses/docker_kubernetes/frontend
)的所有内容复制到容器中的/app
中。-v
应该创建一个卷,以便在不重新构建容器的情况下反映本地副本中的更改。 - cjonesdocker_kubernetes/frontend
的内容,因为它在你提供的Github存储库中不存在。 - Jack Gore