发布时间:2023-01-27 22:30
Docker 容器技术 参考上一篇博文
docker详解_cyy18702236763的博客-CSDN博客
服务器端操作
新建容器
nvidia-docker run -p 2022:22 --name="容器名" -v /home/cyy/workspace/remote_pycharm:/home/cyy/workspace/remote_pycharm -id tensorflow/tensorflow:latest-gpu /bin/bash
进入容器
docker exec -it 容器名 /bin/bash
容器内操作
apt update
apt install -y openssh-server
service ssh start #检查是否安装成功
echo 'service ssh start'>>~/.bashrc #设置ssh-server自动启动
cd ~ #一定要切换~目录执行passwd 命令
passwd #为ssh登录设置一个密码,用户名默认为root,
使用命令vim /etc/ssh/sshd_config,修改下面两个配置
PermitRootLogin yes
UsePAM no
如果没有安装vim,使用如下命令安装
apt-get install vim
echo ':set term=builtin_ansi' >> /usr/share/vim/vimrc
# 第二行如果不加的话会出现在vim中方向键使用失灵的情况
添加目录,修改ssh配置文件
mkdir -p /var/run/sshd
vim /etc/pam.d/sshd
找到 session required pam_loginuid.so 这一行,将它注释掉
service ssh restart #重启
exit # 退出当前容器
宿主机内操作
docker port cyy_python 22
ssh root@宿主机ip -p yourPort #密码是你前面自己设置的
pycharm内操作
打开PyCharmTools > Deployment > Configuration, 新建一个SFTP服务器,名字自己取:
1、配置connection Root Path设置一个远程docker容器里的路径:
点击三个小点,配置ip端口,输入如下图配置,注意这里的端口是你刚刚设置的映射到容器22端口的宿主机中的端口,我这里使用的是2022,账号密码是你刚刚自己设置的,点击test,显示连接成功。
2、配置mappings
这里的路径是你本地存放代码的路径,与刚刚配置的Root Path相互映射(意思是Mapping里本机的路径映射到远程的Root Path),方便以后在本地和远程docker中进行代码和其他文件同步。
3、配置远程python解释器
File > Setting > Project > Project Interpreter右边的设置按钮新建一个项目的远程解释器:
关于包的引入:在docker容器内部安装即有效。
左边是本地的文件,修改之后可以随时右键deployment->upload到远程主机,或者直接在本地调试运行;
docker容器停了以后里面的SSH服务也会相应停止,自己某一天连不上的时候,记得去docker里重启一下ssh服务:
service ssh restart
以上参考链接有:
PyCharm+Docker:打造最舒适的深度学习炼丹炉_sinat_33384251的博客-CSDN博客_docker pycharm
docker学习笔记(9):nvidia-docker安装、部署与使用_submarineas的博客-CSDN博客_nvidia-docker
使用pycharm调用docker中的python环境,并处理宿主机的文件_ambm29的博客-CSDN博客_pycharm使用docker环境
https://www.jb51.net/article/114048.htm