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的资源。