讓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
再執行

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