• pycharm连接服务器上的docker容器


    1.从阿里云pull镜像到服务器上

    docker login --username=aliyun2120888823 registry.cn-hangzhou.aliyuncs.com
    docker pull registry.cn-hangzhou.aliyuncs.com/nlp_mds/nlp:[镜像版本号]
    

    2.根据镜像创造容器

    sudo docker run -p [自选端口号]:22 --gpus all -itd --name [自己起个名字] -v [宿主机(本地)的目录]:[自定义创建好的容器内的目录] [image_name:tag] /bin/bash
    
    for example:
    sudo docker run -p 6666:22 --gpus all -itd --name nlp1.0 -v /mlspace/lyq/docker:/nlp  registry.cn-hangzhou.aliyuncs.com/nlp_mds/nlp:1.0 /bin/bash
    

    相关参数的说明:

    -p [自选端口号]:22:同时将该容器映射到对应的端口号,并与22号端口进行关联监听;
    –gpus all:指定该实例化的容器内可使用所有宿主机包含的gpu;
    -i:保持STDIN开启;
    -t:分配一个伪终端;
    -d:在后台运行
    –name [自己起个名字]:为了避免记住冗长复杂的容器id,通常可为容器设置一个名称,注意不要与现有的名称相同;
    -v [宿主机(本地)的目录]:[自定义创建好的容器内的目录]:为了让容器内的文件与宿主机保持同步,可执行该参数,注意自定义创建好的容器内目录必须是绝对路径。

    可能出现运行错误: docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]

    原因:缺少了 NVIDIA Container Toolkit

    # 1、添加源
    distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
    curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
    curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
    # 2、安装并重启
    sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
    sudo systemctl restart docker
    

    3.开通端口

    sudo /sbin/iptables -I INPUT -p tcp --dport 6666 -j ACCEPT
    

    4.启动容器

    sudo docker start [容器id或自己起的名字]
    sudo docker ps -a  # 查看运行中的容器
    

    5.进入容器

    sudo docker exec -it  [容器id或自己起的名字]  /bin/bash
    

    6.配置容器的ssh服务

    1) 安装ssh

    apt-get update && apt-get upgrade
    apt-get install openssh-server
    

    2) 使用vim打开并修改配置文件

    vim /etc/ssh/sshd_config
    

    3) 将源文件中的PermitRootLogin、PasswordAuthentication和Subsystem注释掉,并替换为下列内容:

    PermitRootLogin yes 
    PasswordAuthentication yes 
    Subsystem sftp internal-sftp
    

    4) 创建docker中root用户的密码

    passwd root
    

    5) ssh服务重启

    service ssh restart
    

    验证容器的ssh服务

    # 服务器中查看是否有对应的端口
    sudo netstat -ntlp
    
    # 尝试ssh连接
    ssh [创建的用户名]@[服务器地址] -p [自己定义的端口号]
    

    pycharm通过ssh来连接服务器上的docker

    1)python interpreter ===》add interpreter ===》选择ssh interpreter
    其中 host:服务器的ip,name:root,port:6666(即自己设定的端口),然后点击next
    2)输入刚才设置的密码,点击next
    3)选择容器里的python环境(/opt/conda/bin/python),点击finish

    # 查看Python所在的目录:
    import sys
    pythonpath = sys.executable
    print(pythonpath)
    

    查看GPU使用情况

    nvidia-smi
    
  • 相关阅读:
    Mysql定时器定时删除表数据
    Mysql中文排序规则
    Swoole学习-Swoole入门指南
    Cygwin安装swoole及错误解决
    php://input ,$_POST, $_GET和$HTTP_RAW_POST_DATA
    tp5-微信消息接收和处理
    [软件工程] 千帆竞发图的制作
    [构建之法论坛] 助教之路
    VS社区版 使用 OpenCover 获取测试代码覆盖率
    支持多编程语言的自动测试系统
  • 原文地址:https://www.cnblogs.com/lyq622/p/16130365.html
Copyright © 2020-2023  润新知