开发过程中,为了做好环境隔离,经常会采用docker来进行开发,但是如何快速将docker中的环境和本地开发的IDE链接起来是一个常见问题,下面对其进行简单的总结:
(1)前期准备
开发环境docker和工具pycharm的安装使用,这里不做过多赘述,可以参考前面的博客,当完成所有环境准备后,打开pycharm加载项目路径,同时后台将环境适配的docker镜像挂起。像这样即可,
(2)环境关联配置
这一步常见的有两种方式:基于unix socket直接和本机的docker关联; 基于ssh和docker关联,下面分别对其使用进行简单总结:
1)基于unix socket关联
此刻通过file进行setting,然后选择project interpreter, 再点击右上角的小齿轮,进入到特定环境的添加选择,具体界面如下, 第一次设置需要先选择server那一行后面的new按钮来创建一个服务名,界面上直接默认即可,下面会出现connection successful字样,
选择ok退出,即可见到下面界面。
此刻需要在image name下拉列表中选择你的镜像,然后最重要的一步就是指定python编译器路径,当你docker内部python环境比较多时尤为重要,可以进入容器后,通过
which python
来确定你环境中默认依赖的python位置。最后选择ok,就可以看到环境加载成功了。
接下来你就可以看到docker环境下面库的详情了。但是同时需要注意的一点就是下面的path mapping,需要说明的是如果你前面已经将docker挂起时做了路径映射则不需要设置,如果没有则需要简单配置一下
如果上面这种映射没有生效,还可以在Run->Edit Configuration中进行路径映射生效
2)基于ssh进行关联
这种方法不仅适应与本机docker环境关联,还是用于远程服务器等docker环境关联,所以更加适用一点。在关联前需要先将docker运行起来,并开放相应的端口,具体操作可以参考我的另一偏推文《以clion为例记录一次基于docker环境配置开发_clion docker-CSDN博客》,当一切配置完成后,然后在设置中的 工具 —> SSH配置 —> 点击+号添加,依次照着步骤完成链接即可。
注意这边的port是你在挂起镜像时对22号端口做的端口映射,接下来就是下一步
设置好编译器和路径映射就可以了。
(3)简单使用
当上面的一切配置完成后,就可以像基于本地环境一样自由使用ide编码,调试等等操作了。可以利用下面脚本,简单测试一下(路径修改成本地即可)
import cv2
img_path="/home/uto/project/project/color_points/result/projection_image.jpg"
img=cv2.imread(img_path)
print(img.shape)