让pycharm利用docker的环境进行开发

pycharm要使用隔离的python环境的话,可以利用virtualenv,conda来创建
但是现在要通过docker的方式实现环境的隔离,例如要使用比较重的tensorflow来实现的话
有一个前提条件,
1 pycharm要使用正式版
2 docker环境要能支持sshd服务(默认是不支持的)

关于第一个条件,可以百度

  • 下面述说第二个条件,我们自己创建一个带ssh服务的tensorflow的image
    docker run -it tensorflow/tensorflow:latest-py3 /bin/bash
  • 然后在命令行里执行
apt-get install update
apt-get install openssh-server -y
mkdir -p /var/run/sshd
mkdir -p /root/.ssh
sed -ri 's/session required pam_loginuid.so/#session required pam_loginuid.so/g' /etc/pam.d/sshd
  • 在宿主机的root用户下生成ssh的id_rsa.pub文件,并拷贝到指定的container相应的目录下
    docker cp id_rsa.pub 084://root/.ssh/authorized_keys

  • 自启动就不要再安装chkconfig,直接写个开启启动文件

vim /run.sh
#!/bin/bash
/usr/sbin/sshd -D

chmod 755 /run.sh
如果没有vim 可以apt-get install vim -y
如果不想安装vim 可以
echo '#!/bin/bash' > /run.sh
echo '/usr/sbin/sshd -D >> /run.sh'

  • 退出docker 并保存为一个新的镜像
    docker commit 084 my/tensorflow:latest-py3
  • 启动新镜像并测试下
docker run -d -p 10022:22 my/tensorflow:latest-py /run.sh
ssh 192.168.3.235 -p 10022 注意执行这个命令要在root用户下执行

ps:中间可能会有错,执行
ssh-keygen -f "/root/.ssh/known_hosts" -R [192.168.3.235]:10022
再执行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章