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: