我正在尝试使用 Docker 来改进我的工作流程。我在我的 Windows 10 家庭版上安装了“Docker Toolbox for Windows” (因为据说 Docker 只适用于专业版)。我正在使用mgexhev 的 angular-seed,它声称提供完整的 docker 支持。有一个 docker-compose.yml 文件,它链接了一个 ./.docker/angular-seed.development.dockerfile。
在 git 克隆种子项目后,我可以通过运行种子项目的 github 页面上给出的命令来启动它。所以我可以在运行后看到应用程序:
$ docker-compose build
$ docker-compose up -d
但是当我使用 Visual Studio Code 更改代码并保存 livereload 时不起作用。我可以看到我的更改的唯一方法是重新运行 build 和 up 命令(重新运行 npm install;5 分钟)。
在Docker 的文档中,他们说“将主机目录挂载为数据卷”以便能够“更改源代码并实时查看其对应用程序的影响”
docker run -v //c/<path>:/<container path>
但是当我使用 docker-compose 时,我不确定这是否正确?我也尝试过运行:
docker run -d -P --name web -v //c/Users/k/dev/:/home/app/ angular-seed
docker run -p 5555:5555 -v //c/Users/k/dev/:/home/app/ -w "/home/app/" angular-seed
docker run -p 5555:5555 -v $(pwd):/home/app/ -w "/home/app/" angular-seed
和许多类似的命令,但似乎没有任何效果。
我尝试将我的项目从 C:/dev/project 移动到主目录,因为我在某处读到可能存在一些不使用“主”目录的访问权限问题,但这并没有什么区别。
我也有点困惑,说明说访问 localhost:5555。我必须去 dockerIP:5555 才能看到该应用程序(以防这有助于任何人理解为什么我的代码没有在我的 docker 容器内更新)。
当然,我的更改应该自动进入 docker 环境,否则 docker 对开发不是很有用:)