开发过程中,为了做好环境隔离,经常会采用docker来进行开发,但是如何快速将docker中的环境和本地开发的IDE链接起来是一个常见问题,下面对其进行简单的总结:

(1)前期准备

      开发环境docker和工具pycharm的安装使用,这里不做过多赘述,可以参考前面的博客,当完成所有环境准备后,打开pycharm加载项目路径,同时后台将环境适配的docker镜像挂起。像这样即可,

pycharm docker打包插件_docker

(2)环境关联配置

        这一步常见的有两种方式:基于unix socket直接和本机的docker关联; 基于ssh和docker关联,下面分别对其使用进行简单总结:

1)基于unix socket关联

        此刻通过file进行setting,然后选择project interpreter, 再点击右上角的小齿轮,进入到特定环境的添加选择,具体界面如下, 第一次设置需要先选择server那一行后面的new按钮来创建一个服务名,界面上直接默认即可,下面会出现connection successful字样,

pycharm docker打包插件_运维_02

选择ok退出,即可见到下面界面。

pycharm docker打包插件_docker_03

此刻需要在image name下拉列表中选择你的镜像,然后最重要的一步就是指定python编译器路径,当你docker内部python环境比较多时尤为重要,可以进入容器后,通过

which python

来确定你环境中默认依赖的python位置。最后选择ok,就可以看到环境加载成功了。

pycharm docker打包插件_pycharm docker打包插件_04

接下来你就可以看到docker环境下面库的详情了。但是同时需要注意的一点就是下面的path mapping,需要说明的是如果你前面已经将docker挂起时做了路径映射则不需要设置,如果没有则需要简单配置一下

pycharm docker打包插件_容器_05

如果上面这种映射没有生效,还可以在Run->Edit Configuration中进行路径映射生效

pycharm docker打包插件_docker_06

2)基于ssh进行关联

        这种方法不仅适应与本机docker环境关联,还是用于远程服务器等docker环境关联,所以更加适用一点。在关联前需要先将docker运行起来,并开放相应的端口,具体操作可以参考我的另一偏推文《以clion为例记录一次基于docker环境配置开发_clion docker-CSDN博客》,当一切配置完成后,然后在设置中的 工具 —>  SSH配置  —>  点击+号添加,依次照着步骤完成链接即可。

pycharm docker打包插件_运维_07

注意这边的port是你在挂起镜像时对22号端口做的端口映射,接下来就是下一步

pycharm docker打包插件_容器_08

设置好编译器和路径映射就可以了。

(3)简单使用

      当上面的一切配置完成后,就可以像基于本地环境一样自由使用ide编码,调试等等操作了。可以利用下面脚本,简单测试一下(路径修改成本地即可)

import cv2

img_path="/home/uto/project/project/color_points/result/projection_image.jpg"
img=cv2.imread(img_path)
print(img.shape)