clion官方回复是不能通过docker插件和工具直接连接远程环境或者docker环境中的docker的,所以对于D in renmote和D in D的情况要另外想办法。官方给的是use Remote with Gateway和
Remote with local sources.两个方式。
我自己探索了下觉得隧道的方式是理论上可行的,但是在最后一步自动获取cmake上出现了问题,我怀疑是我D in D的配置过程有点问题,等后面D in remote的环境有了再试下。下面说下我的隧道配置。
首先我是用宿主机10010的端口对接127.0.0.1 IP的中间docker的22端口,再用0.0.0.0的IP和其10000的端口对接最终目标docker的22。那么使用mabaxterm的隧道配置如下图:
这里我不清楚隧道配置具体是什么一个逻辑,总之local clients其实填什么端口都行,后面的中间机和目标机的ip和端口填上上一级和他通讯时用的那套就行。启动后输入密码就行,随后配置clion里的ssh。
把上面的隧道运行后,就可以用127.0.0.01的22端口直接连接目标机器了,打开Clion测试下是可以连接的。port如果填写10010也可以连接,但是连的是中间机去了,这点别搞错了,local client填写的是什么就要连什么。
之后deployment没什么说的和本地docker一样,但是toolchain这一步就出问题了,无法自动获取工具链
点击显示报错
最后load cmake project也出问题了,但是远程端却生成了并且make一下就能运行了。同步文件也没有任何问题就是本地的编译器生成不了cmake的东西,也调用不了c++的环境
这是DinD的情况,DinR后面试试把