使用已经配置好的docker环境进行开发会方便很多,但是docker环境只能使用命令行的方式进行交互,对于习惯使用IDE的同学来说还是有点不方便,所以本文介绍了如果在宿主机中使用clion与pycharm使用docker中的环境方法。
docker配置先拉取所需的docker进行环境配置,这部分因人而异。
开发环境配置确保docker中已经安装了C++与python所需的开发环境,可以用下列的命令检测(python3、g++、gcc、cmake、make、gdb)
python3 --version g++ --version gcc --version cmake --version make --version gdb --version
如果安装了的情况下,应该会显示版本号,如果显示找不到命令,则需要安装对应的软件包。
配置ssh更新软件源
sudo apt update
安装openssh
sudo apt install openssh-server
启动ssh服务
service ssh start
设置ssh自启动
echo 'service ssh start'>> ~/.bashrc
查询ssh服务是否开启
sudo ps -e | grep ssh
如果出现sshd的相关行,则ssh服务开启,如果未出现,则重新启动ssh服务。
设置ssh的密码
passwd
输入两次密码后,即设置了ssh登陆的密码。
输入vi /etc/ssh/sshd_config,打开文件
找到PermitRootLogin这个选项,把注释去掉,然后把后面的选项改为
PermitRootLogin yes
保存后退出
安装rsync这一步是需要用clion的同学需要操作的,如果不使用clion则略过此步骤。
sudo apt install rsync提交docker镜像
完成上述步骤后,退出容器exit
sudo docker container list
复制刚刚修改过的容器的ID
提交新的镜像
sudo docker commit [ID] [name]:[tag] 例如: sudo docker commit ad48eb448521f mydocker:v1运行镜像
重新把镜像实例一个容器,这里注意两点,一个是添加-p 将ssh的22端口映射到其他端口,不要使用–network host这个选项,否则-p不能使用
sudo docker run -itd --name contain1 -p 10001:22设置pycharm环境
注意:要退出docker终端,但不停止容器运行
- 新建一个工程,按ctrl+alt+s,在Project:中,选择“Pyhton Interpreter”,在右侧内容中,第一行“Pyhton Interpreter”中,点击最右侧的齿轮图案,选择“Add”。
- 在新弹出的窗口中,左侧选择“SHH Interpreter”,右侧选择“New server configuration”。
- Host填写“127.0.0.1”,或者在终端中输入“ifconfig”,复制lo中的ipv4地址。
- port填写之前创建docker时 -p 的第一个端口,比如:10001
- Username填写docker容器中的用户名,比如:root。点击next。
- 在password中输入之前设定好的docker中的密码。点击next。
- 最后一个页面可以选择使用的解释器等选项。
- 确定出来后,可以设置本地文件夹与docker内部文件夹的映射关系。
注意:要退出docker终端,但不停止容器运行
- 新建一个工程,按ctrl+alt+s,在“Build,Execution,Deployment”中,选择“Toolchains”,右侧点击“+”号,选择“Remote Host”,在“Credentials”的右侧点击齿轮。
- 在新弹出的窗口中,host输入127.0.0.1,同上,port输入端口号,同上,username同上,password同上,点击“test conneection”显示通过。点击“Apply”。
- 在Deployment中,设置“root path”
the authenticity of host ‘[127.0.0.1]:10005’ connot be established
# ~/.ssh/config 中添加如下信息 Host * StrictHostKeyChecking no



