gpt4 book ai didi

vagrant - 在 Vagrant 中使用 docker-compose 配置 PyCharm 解释器

转载 作者:行者123 更新时间:2023-12-02 15:12:42 26 4
gpt4 key购买 nike

我有一个基本的 vagrant box,其中运行着 docker 和 docker-compose。 docker-compose.yaml 有一个像这样的 Web 服务:

web:
restart: always
build: .
ports:
- "5000:5000"
expose:
- "5000"
links:
- postgres:postgres
volumes:
- .:/usr/src/app/
env_file: .env
command: python manage.py runserver
#below the postgres service is defined

Vagrant 文件:

Vagrant.configure(2) do |config|

config.vm.box = "phusion/ubuntu-14.04-amd64"

config.vm.network "private_network", ip: "192.168.33.69"

config.vm.synced_folder ".", "/vagrant_data"
# provisioning

web 服务使用包含以下内容的 Dockerfile:FROM python:3.5.1-onbuild

我安装了 PyCharm 5.1 Professional Edition Beta 2(内部版本 145.256.43,2016 年 3 月 11 日)。我想将 pycharm 的解释器配置为运行 web 服务的解释器。
当我尝试这样做时,在“配置远程 python 解释器”对话框窗口中,我选择 Docker Compose,然后添加一个新的 Docker 服务器。当尝试添加 docker 服务器时,当我输入 vagrant 机器的 ip + 端口 2376(这是输入字段中的默认值)时,出现异常:
screenshot

我是否遗漏了任何陷阱?

最佳答案

好吧,我终于开始工作了。这是我所做的:

  1. 转到虚拟机,并在/etc/default中,我打开了docker文件。取消注释 DOCKER_OPTS行并将其更改为:
    DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"
  2. 在我的 Vagrantfile(定义运行 docker 守护进程的虚拟机)中,我将同步文件夹更改为

    config.vm.synced_folder ".", "/vagrant", disabled: true # make sure you add this line
    config.vm.synced_folder ".", "/home/georgi/Projects/ipad", # /home/georgi.... is the full path of the project on the host machine. This lines makes sure that the path of the project on the host and on the vm are the same.
    owner: 'vagrant',
    group: 'vagrant',
    mount_options: ["dmode=777", "fmode=777"]
    config.vm.synced_folder "~/.PyCharm2016.1/system/tmp", "/home/georgi/.PyCharm2016.1/system/tmp",
    owner: 'vagrant',
    group: 'vagrant',
    mount_options: ["dmode=777", "fmode=777"]

    此时重新启动虚拟机。

  3. 在 PyCharm 中,我打开了项目,转到"file"->“设置”->“项目”->“项目解释器”->“添加远程”。选择 Docker-Compose。
  4. 在“服务器”部分中,按“新建”。输入API如下: tcp://192.168.33.69:2375 (ip 是在虚拟机的 Vagrantfile 中定义的。端口是在 DOCKER_OPTS 中定义的。)其余部分保持原样。然后按“确定”。
  5. 在配置中 - 选择 docker-compose.yaml - 关键部分在这里 - 该文件的路径在主机和虚拟机上应该相同。
  6. 服务名称 - 在我的例子中 - web

编辑:我忘了提及 - 我安装了 PyCharm 2016.1

2017 年编辑:查看 thisthis 。较新版本的 Docker 似乎不接受原始答案中的技巧。

关于vagrant - 在 Vagrant 中使用 docker-compose 配置 PyCharm 解释器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36058949/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com