docker 利用 docker run 启动
docker run -it -d -v /宿主机目录:/容器目录 镜像名 /bin/bash
其中:
-it代表可以利用控制台和终端登录(通常都要)
-d代表后台启动
-v代表路径的映射
未使用的参数:
-p指定端口映射 格式为:主机(宿主)端口:容器端口
--name="nginx-lb" 为容器指定一个名称
-e username="ritchie" 设置环境变量
nvidia docker的启动,添加路径映射并调用cuda的计算资源
docker run -itd -u root --gpus all --name="tf-gpu-1.13.1" -v 本机路径:docker内部路径 -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all 镜像ID bash
多出来的东西其实就是这个家伙:NVIDIA_DRIVER_CAPABILITIES=compute,utility
用root用户启动docker,在-itd后面加入-u root
-u root
启动时设置共享内存
--shm-size="8g"
配置docker容器时间与宿主机时间相同
-e TZ="Asia/Shanghai" -v /etc/localtime:/etc/localtime:ro
也就是说,如果你不改这个环境变量,宿主机的nvidia driver在容器内是仅作为utility存在的,如果加上compute,宿主机的英伟达driver将对容器提供计算支持(所谓的计算支持也就是cuda支持)。
如果不加只能用cpu的tensorflow,不能调用gpu的资源。

本文详细介绍了Docker的启动命令,包括`-it`、`-d`和`-v`参数的作用,并展示了如何通过`-p`指定端口映射,使用`--name`设定容器名称,以及运用`-e`设置环境变量。特别地,针对NVIDIA GPU的使用,解释了`--gpus all`和环境变量`NVIDIA_DRIVER_CAPABILITIES`在启用CUDA计算支持上的重要性。同时提到了`--shm-size`配置共享内存和保持容器时间与宿主机同步的方法。
1587

被折叠的 条评论
为什么被折叠?



