官方文档教程地址:https://docs.docker.com/get-started/
在win10上根据官方文档熟悉docker的使用,接下来是值得注意的坑爹的地方。(不要在windows下运行估计就不会有这些坑爹的部分)官方文档居然能写成这个样子。还是去虚拟机运行docker算了。官方文档的意思明显是它的范例是可以在windows下运行的(因为docker desktop只有win和mac版),可是范例只有在MAC或者LINUX下才能正常运行
Part2 : Our application。
从这个部分开始就已经有很大的问题了。按照官方教程运行出来的页面完全不一样,我运行出来的是一个类似https://docs.docker.com/get-started官方教程的页面,但是按照预期应当运行出一个可以添加事项的页面。这估计是跟有个模块有关,因为docker build -t shittytutorial . 生成镜像的时候就已经提醒有个模块不兼容(module incompatible),那个模块只能在Linux下运行。可能就是因为这个模块导致无法跳转到正确的页面。这个模块不兼容的信息只会在生成镜像过程中打印出来。生成完毕后不兼容的消息就不显示了。
Part6 : Using Bind Mounts 关于这个部分在win10上运行的问题没有解决。心态炸裂。算了不要在windows里搞docker了。官方给出的运行命令是
docker run -dp 3000:3000 -w /app -v "$(pwd):/app" node:12-alpine sh -c "yarn install && yarn run dev"
这个命令会报错docker: Error response from daemon: create
(
p
w
d
)
:
"
(pwd): "
(pwd):"(pwd)" includes invalid characters for a local volume name, only “[a-zA-Z0-9][a-zA-Z0-9_.-]” are allowed. If you intended to pass a host directory, use absolu这样。我根据https://blog.csdn.net/zhangweijin1993/article/details/107927405,不过没有对盘符进行共享,只是猜测命令得写成
docker run -dp 3000:3000 -w /app -v “C:\workSpace\Docker\bind-mount-test:/app” node:12-alpine sh -c “yarn install && yarn run dev”
毕竟windows普通命令行没有pwd这个命令。或者可以用powershell命令行然后
docker run -dp 3000:3000 `
-w /app -v "$(pwd):/app" `
node:12-alpine `
sh -c "yarn install && yarn run dev"