Docker类似虚拟机,配置cuda+TF开发环境时只要确保服务器的nvdia驱动能够支持所需要的cuda版本。
docker image 是一个操作系统镜像,TF提供了各种版本的image非常方便,在使用时可以根据一个image创建虚拟环境,虚拟环境称为container(也是一个操作系统)
首先确保服务器已经安装docker,以及足够高版本的nvdia驱动
docker 常用命令:
查看所有image docker images
下载image docker pull <IMAGE NAME>
查看所有container docker ps或者docker ps –a
基于image实例化一个container,举例: docker run –itd -v /opt/maming/Test/:/code -w /code –name dev_maming -p 1989:22 –runtime=nvidia aminehy/ai-lab:py3-opencv-pytorch-skvideo-ffmpeg-alignment
-v 将服务器中目录映射到container目录,用于共享文件等 注意:该目录具有和docker一样的权限,可能不能更改,需要手动更改权限 更改目录权限:sudo chown -R maming:root /opt/maming/shared
-w container的起始目录
–name container的名字
-p 将该container映射到服务器端口,并与22(SSH)关联监听 例如:1989为分配给container的端口 注意:需要sudo权限打开1989端口的防火墙
-i 保持STDIN开启
-t 分配一个伪终端
-d 在后台运行
–runtime=nvidia 可以使用gpu
最后加上image名字 例如:aminehy/ai-lab:py3-opencv-pytorch-skvideo-ffmpeg-alignment
进入已经实例化的container docker exec –it <CONTAINER NAME> bash (默认执行docker start <CONTAINER NAME>)
退出当前container exit
停止正在运行的container docker stop <CONTAINER NAME>
删除一个container docker rm <CONTAINER NAME>
启动一个container docker start <CONTAINER NAME> Linux查看文件夹权限:ls –l Linux 赋予文件夹权限:sudo chown -R maming:root /opt/maming/shared
可能需要重启container的ssh服务,请参考:https://blog.csdn.net/qq_38228254/article/details/78543840
查看某个(比如8001)端口是否占用:sudo netstat -nlp|grep 8001
建立kaldi-gpu container:docker run -itd -v /opt/maming/shared_kaldi/:/shared_kaldi -w /shared_kaldi –name maming_kaldi -p 1988:22 –runtime=nvidia kaldiasr/kaldi:gpu-latest
优秀