Nvidia-docker 添加文件夹到容器

Nvidia-docker add folder to container

我是 docker 容器的新手。我知道有 ADD 和 COPY 操作,所以容器可以看到文件。如何让容器访问我可以放置数据集的给定目录?

假设我有一个 /home/username/dataset 目录,如何在 /dataset 或 docker 容器中创建它以便我可以引用它?

有没有办法让容器引用主系统上的目录,这样您就不必拥有重复的文件。其中一些数据集会非常大,虽然我可以在复制原始数据集后将其删除.. 如果我想在 docker 容器之外用文件做一些事情,那就太烦人了。

主机上的目录可以映射到容器内的目录。

如果您正在使用 docker 运行 启动您的容器,那么您可以包含 -v 标志以包含卷。

docker run --rm -v "/home/username/dataset:/dataset" <image_name>

如果您使用的是撰写文件,您可以包含 volumes 使用:

volumes:
  - /home/<username>/dataset:/dataset

关于如何使用卷的详细说明,您可以访问Use volumes in docker

您不能在构建期间执行此操作。如果您想在构建期间执行此操作,则需要将其复制到上下文中

否则,当您 运行 容器时,您需要进行卷绑定挂载

docker run -it -v  /home/username/dataset:/dataset <image>