我的本地Eclipse可以在Docker容器中安装Access库吗?

时间:2018-04-24 20:15:41

标签: python django eclipse ubuntu-16.04 centos7

我有一个用于Django开发的Docker镜像,通过一些xauthority文件机制,我在容器中使用Eclipse。在大多数情况下,Eclipse运行良好,但有一些唠叨问题似乎与它在容器内运行的事实有关;毕竟,Docker并没有真正为此目的而开发。所以,我想知道......

如果我在本地计算机上运行Eclipse实例,是否可以配置给定项目来访问正在运行的容器中安装的库?也就是说,让它解析导入,使用Python 2或3 / Django 1或2运行代码,具体取决于单个项目及其访问的容器?

主机:CentOS 7

基本图片:Ubuntu 16.04

添加信息: 这是我的run命令(认为在xauth之前有一些脚本),它显示了我如何将我的卷挂载到给定的Docker环境:

docker run -h django-env \
-d -p 8000:8000 \
-w=/home/$USER \
--user $USER \
-v $XAUTH:$XAUTH -v $XSOCK:$XSOCK \
-v psql_var_lib:/var/lib/postgresql \
-v psql_var_log:/var/log/postgresql \
-v psql_var_etc:/etc/postgresql \
--mount type=bind,source=$LOCAL_REPO/django-env-opt,target=/opt \
--mount type=bind,source=$LOCAL_REPO/django-env-home,target=/home/$USER \
-e XAUTHORITY=$XAUTH -e DISPLAY \
--entrypoint "" hildy:django_python1 bash -c "sudo /etc/init.d/postgresql 
start && /opt/eclipse/eclipse/eclipse"

2 个答案:

答案 0 :(得分:2)

  

我在容器中使用Eclipse。

你不需要。容器的目的是为您提供编译环境。只要您可以在容器和主机之间共享文件,所有代码编辑都可以在您的本地eclipse中进行。

所以问题是你如何共享文件?通过卷。最简单的方法是说docker run -v <hostdir>:<containerdir>

参考:https://docs.docker.com/storage/volumes/

答案 1 :(得分:0)

首先,我要感谢@Timir引导我找到正确的答案并帮助我意识到我不需要从容器中运行Eclipse。试图这样做只是对Docker的基本误解,因为这个问题在开始学习Docker之后很快就出现了。你可以叫我一个菜鸟,没关系,你没有错......但是决定。

就我而言,我所做的是创建一个带有docker volume create <volume name I chose>的卷,并将卷装入run命令中的容器&usr /目录,如下所示:-v <volume name I chose>:/usr

接下来,在Eclipse中我导航到窗口&gt;偏好&gt;的PyDev&GT;口译员&gt; python interpreter&gt;新。然后,我刚刚进入我的主机上目录中的docker卷的目录 - 在我的CentOS 7主机上,即/var/lib/docker/volumes/<volume name I chose>/_data/bin/python3.5 - 选择该位置并为其命名。然后,当我创建一个给定的PyDev项目时,我只选择了我创建的解释器,并且我在做生意。