用于 GPU 和非 GPU 版本的 Dockerfile

Dockerfile for GPU and non-GPU versions

我有一个使用 Dockerfile 维护的项目。这是一个数据科学项目,因此 docker 可以在许多环境中使用,本地、云端,有或没有 GPU。

GPU版和非GPU版的区别很小,就是这样:

FROM ubuntu:18.04  -> non-GPU
FROM nvidia/cuda   -> GPU 

处理这种情况的最佳方法是什么?

P.S:我正在使用 docker-compose 构建 docker

您可以在 docker-compose yml 文件中使用多个 docker 文件,如下所示,

├── docker-compose.yml
├── GPU project
│   └── GPU.Dockerfile
└── NON-GPU project
    └── NONGPU.Dockerfile

还可以通过为文件提供 .Dockerfile 扩展名(而不是名称)来在 VS 代码中突出显示语法,例如GPU.Dockerfile、非GPU.Dockerfile等