docker完整深度学习环境搭建

Docker容器是非常方便的虚拟机,并且在虚拟机下拥有root权限。这样既可以获取较高的权限,又可以避免对主机文件带来误操作。

# 更新
$ sudo apt-get update
# 安装最新的Docker
sudo apt-get install docker.io
# 启动
sudo systemctl enable docker
sudo systemctl start docker

sudo docker create ubuntu:18.04

1、docker命令

   (1) 我们可以使用 docker images 来列出本地主机上的镜像。

   (2) 创建并运行docker容器:docker run -d -it -p 1088:8888 -p 1022:22 -p 1059:5900 -v /server/data:/docker/data --gpus all --shm-size="32g" yehx:base /bin/bash

       -p:docker端口映射,冒号前为主机端口号,冒号后为docker容器端口号。

       -v:docker共享文件夹,冒号前为主机文件夹,冒号后为docker容器文件夹。

       --gpus all:docker中可使用GPU。

       --shm-size="32g":docker默认的最大内存较小,这里修改为32G内存,可根据修改自行替换为其他值。

       yehx:base:镜像名称,为docker images返回中的一个,需替换成所用的容器名称。

  (3)查看docker状态:docker ps -a,可查看docker状态,以及容器ID(countainerID)。

  (4)进入docker:docker exec -it countainerID /bin/bash,countainerID一般较长,只需前几个数字就可以了,系统会自动识别。

  (5)停止docker,docker stop countainerID。

  (6)启动docker,docker start countainerID,然后运行第(4)步进入docker。

  (7)删除docker,docker rm countainerID,运行前先通过第(5)步停止docker。

2、docker安装ssh服务

  (1)安装ssh服务:apt-get update,apt-get install sshd。

  (2)启动服务:service ssh start。

    (3)   关闭服务:service ssh stop。

  (4)重启服务:service ssh restart。

    (5)  查看服务是否正常运行:service ssh status。

  (6)注意事项:将etc/ssh/sshd_config文件中PermitRootLogin 设为yes,否则有可能出现权限问题。

  (7)这样就可以通过ssh访问docker了,如果按照1-(2)中设置了1022端口映射,那么即可通过该端口进行ssh连接。

3、深度学习环境

  (1)python miniconda 安装

        1)wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py37_4.8.2-Linux-x86_64.sh

        2)bash Miniconda3-py37_4.8.2-Linux-x86_64.sh

        3)source ~/.bashrc

  (2)conda使用

        1)查看安装包:conda list

        2)查看虚拟环境:conda env list

        3)创建虚拟环境:conda create -n env_name python=3.7

        4)安装包:conda install -n env_name [package]

        5)激活环境:conda activate env_name

  (3)pytorch安装

        Previous PyTorch Versions | PyTorch

  (4)cuda安装

        1)下载.run文件:(直接去nvidia官网下载),下面以安装cuda10.1为例。

wget http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run

        2)给run文件增加可执行权限:chmod +x cuda_10.1.243_418.87.00_linux.run

        3)运行安装程序:./cuda_10.1.243_418.87.00_linux.run

        4)注意事项:运行安装程序中,在选择是否安装driver时选择no,否则会安装不成功。

        5)多卡训练:CUDA_VISIBLE_DEVICES=1,2 python my_script.py

  (5)jupyter notebook 安装

        1)conda install jupyter notebook

        2)jupyter notebook --generate-config

                c.NotebookApp.allow_remote_access = True

                c.NotebookApp.allow_root = True

                c.NotebookApp.ip = '0.0.0.0'

        3)jupyter notebook password

        4)后台运行:nohup jupyter notebook &

        5)这样默认8888端口访问notebook,如果按照1-(2)中设置了1088端口映射,那么通过1088端口即可访问notebook。

 Debug:

docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]

https://www.cnblogs.com/dan-baishucaizi/p/15102419.html

https://blog.csdn.net/BigData_Mining/article/details/104991349

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - 正常会显示OK
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list 我的系统是Ubuntu18.04
sudo apt-get update 这一步要保证没得问题,我的显示有几个源重复配置,然后我就将其(sudo vim nvidia-docker.list)注释掉
sudo apt-get install nvidia-container-toolkit
sudo apt-get install nvidia-container-runtime
sudo systemctl restart docker


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部