我从MongoDB开始并参加了四门课程。所有这些都使用不同版本的mongodb,python,nodejs,asp.net,mean stack等。我理想的工作空间的结构:
courses
├─ mongodb_basic
│ ├─ hello_world-2.7.py
│ └─ data
│ └─ db
├─ python-3.6_mongodb
│ ├─ getting_started.py
│ └─ data
│ └─ db
├─ dotnet_and_mongodb
│ ├─ (project files)
│ └─ data
│ └─ db
├─ mongodb_node
│ ├─ (project files)
│ └─ data
│ └─ db
└─ mean_intro
└─ (project files)
我希望使用Docker保持Windows 10系统的清洁,而无需在主机上安装所有内容并停留在第一道菜中,不知道如何:
python/pymongo <-> mongodb
aspnet <-> mongodb
... <-> mongodb
我想在主机上保留一个工作区(外部硬盘驱动器),以便在不同的计算机上工作(三台W10个人计算机)。
谷歌的搜索结果很多(容器化,码头组合等)并且不知道从哪里开始。
答案 0 :(得分:1)
我认为可以使用docker-compose并正确定义 dockerfiles 来做你想做的事情。因此,如果您想知道从哪里开始,我建议您熟悉dockerfiles和docker-compose。
回答你的问题:
注意: volumes:
声明是指定要访问的容器的工作区文件夹结构的位置。
地图文件夹/数据:我再次查看上面提到的链接。在dockerfile
中,他们使用ADD
命令将容器的当前目录添加到/code
目录的路径中。这包含在撰写文件中作为volume:
。那是什么意思?无论您在主机工作区中更改了什么,都应该显示在容器的根目录中。
使用一个命令启动/停止:您应该能够使用docker-compose up
之一创建,启动或停止所有服务或特定服务,{{1 }或docker-compose start
命令。
对于您的应用程序,您甚至可以将所有工作区定义为所有dockerfiles中的卷,然后使用脚本构建它们。或者您也可以使用像Kubernetes这样的某种编排服务,但这可能有点过头了。
希望这有帮助。