我试图想象一种可以应用于科学工作环境的工作流程。我的工作涉及到一些科学编码,基本上使用Python、pandas、numpy等库。有时我需要使用一些在科学界不常见的模块,有时我也需要将一些已经编译好的代码集成到我的模拟链中。我运行的代码大部分时间都是通过IPython笔记本并行化的。
关于Docker,我觉得它很有意思的地方在于:我可以创建一个包含我的代码和工作环境的Docker。然后,我可以将Docker发送给我的同事,而不需要他们更改他们的工作环境,例如安装一个过时版本的模块以使其能够运行我的代码。
我心目中的工作流程草稿如下:
1. 在本地开发,直到我有一个版本想要与别人分享。 2. 构建一个Docker,可能带有从git仓库中获取的hook。 3. 分享Docker。
有没有人能给我一些指导,以便进一步发展这个工作流程呢?一个让我感到好奇的点是:在Docker上运行的代码能否在机器的几个核心上启动并行进程?例如连接到集群的IPython笔记本。
关于Docker,我觉得它很有意思的地方在于:我可以创建一个包含我的代码和工作环境的Docker。然后,我可以将Docker发送给我的同事,而不需要他们更改他们的工作环境,例如安装一个过时版本的模块以使其能够运行我的代码。
我心目中的工作流程草稿如下:
1. 在本地开发,直到我有一个版本想要与别人分享。 2. 构建一个Docker,可能带有从git仓库中获取的hook。 3. 分享Docker。
有没有人能给我一些指导,以便进一步发展这个工作流程呢?一个让我感到好奇的点是:在Docker上运行的代码能否在机器的几个核心上启动并行进程?例如连接到集群的IPython笔记本。