基于docker的深度学习开发环境

docker

安装docker (release>=19.02)
安装NVIDIA Container Toolkit 

https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker

安装使用gpu的docker容器:

docker run -it --gpus all centos

安装开发环境:

安装编译工具:

yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
yum -y install gcc automake autoconf libtool make wget
yum -y install yum-utils
yum -y install libffi-devel
yum -y install wget
yum -y install vim

安装python:

mkdir -p /usr/local/python3

cd /usr/local/python3

wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz

tar -zxvf Python-3.7.1.tgz

cd Python-3.7.1

./configure --prefix=/usr/local/python3

make && make install

ln -s /usr/local/python3/bin/python3 /usr/bin/python3

vim ~/.bash_profile

# .bash_profile
# Get the aliases and functions
if -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/local/python3/bin
export PATH
 
source ~/.bash_profile
python3 -V
pip3 -V
 
cd ~ 
mkdir .pip
cd .pip
vim pip.conf

[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple/
trusted-host=pypi.tuna.tsinghua.edu.cn

 
退出容器:
exit
 
保存镜像:
docker ps -a
docker commit CONTAINER_ID IMAGE_NAME
 
查看新镜像:
docker images -a 
 
启动修改后的新镜像:
docker run -i -t IMAGE_NAME /bin/bash
 
 
安装 pytorch 
 
pip3 install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
 
# 使用新镜像 构造新容器并使用gpu  (可跳过)
docker run -i -t -p 2222:22 --gpus all IMAGE_NAME 
 

使用Pycharm ssh 远程连接 Docker:

设置容器中的centos登录密码:

yum install passwd -y

passwd

安装ssh:

yum install openssh-server -y

配置ssh:

cd /etc/ssh

ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key

ssh-keygen -t rsa -f /etc/ssh/ssh_host_ecdsa_key

ssh-keygen -t rsa -f /etc/ssh/ssh_host_ed25519_key

创建允许外部访问的认证文件:

mkdir -p ~/.ssh

> ~/.ssh/authorized_keys

编写容器的服务启动脚本:

vi /run.sh

#!/bin/bash

/usr/sbin/sshd -D

设置执行权限:

chmod +x/run.sh

退出容器,将具有ssh功能的容器保存为新的镜像文件,方便使用:

exit

docker commit NEW_CONTAINER_ID NEW_IMAGE_NAME 

启动并通过 ssh 连接新容器:

docker run -d --name SSH-CONTAINER-NAME -p 2222:22 NEW_IMAGE_NAME /run.sh

参数说明:

-d 后台启动
-name 指定容器名称
-p 2222:22 将容器的22端口服务映射到宿主机的 2222 端口上

进入后台运行的容器:

docker exec -it CONTAINER_ID /bin/bash


本地 ssh 连接容器:

ssh root@127.0.0.1 -p 2222

Pycharm ssh 连接容器 python:

  1. 打开 pycharm,依次点击 File > Settings > Project > Python Interpreter
  2. 依次点击 Show All > + > SSH Interpreter,依次输入
  3. host(容器所处的宿主机ip)、port(2222) username(为远程连接的容器用户名 root);
  4. 输入在容器中设计的root账户的密码,点击 Next;
  5. 编译器路径选择 /usr/local/bin/python3.8;
本博文欢迎转载,转载请注明出处和作者。
原文地址:https://www.cnblogs.com/wkang/p/14953324.html