docker - 使用 pycharm 调试登台 docker compose 服务器

标签 docker docker-compose wercker

我有以下 docker-compose.yml 文件:

version: '2'
services:
    postgis:
        image: mdillon/postgis
        environment:
           POSTGRES_USER: ${POSTGIS_ENV_POSTGRES_USER}
           POSTGRES_PASSWORD: ${POSTGIS_ENV_POSTGRES_PASSWORD}
           POSTGRES_DB: ${POSTGIS_ENV_POSTGRES_DB}
        volumes:
            - /nexchange/database:/var/lib/postgresql/data
        restart: always
    app:
        image: onitsoft/nexchange:${DOCKER_IMAGE_TAG}
        volumes:
            - /nexchange/mediafiles:/usr/share/nginx/html/media
            - /nexchange/staticfiles:/usr/share/nginx/html/static
        links:
            - postgis
        restart: always
    web:
        image: onitsoft/nginx
        volumes:
            - /nexchange/etc/letsencrypt:/etc/letsencrypt
            - /nexchange/etc/nginx/ssl:/etc/nginx/ssl
            - /nexchange/etc/nginx/nginx.conf:/etc/nginx/nginx.conf
            - /nexchange/mediafiles:/usr/share/nginx/html/media
            - /nexchange/staticfiles:/usr/share/nginx/html/static
        ports:
            - "80:80"
            - "443:443"            
        links:
            - app
        restart: always

由于某种原因,在本地容器上运行的某些功能在暂存时不起作用。 我想在 pycharm 中配置一个 remote interpreter 用于暂存,但目前似乎不支持此设置。

我正在使用 wercker + docker compose,我的 IDE 是 pycharm。

编辑: 问题是: 如何设置 Pycharm 调试器在运行 docker compose 的远程主机上运行

最佳答案

虽然不安全,但解决方案是通过 iptables 将远程目标上的 docker API 开放给公共(public)流量(如果您拥有静态 IP,则可能仅来自特定 IP 的流量)。

$ ssh $USER@staging.nexchnage.ru
oleg@nexchange-staging:~# sudo iptables -A INPUT -p tcp --dport 2376 -j ACCEPT
oleg@nexchange-staging:~# sudo /etc/init.d/iptables restart

然后只需使用 JetBrain PyCharm/PhpStrom 的 docker compose 功能或您喜欢的选择:

enter image description here

干杯

关于docker - 使用 pycharm 调试登台 docker compose 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39306713/

相关文章:

git - 在 wercker 中仅构建 git 标签

docker - 将参数传递给docker-compose

ruby-on-rails - 在 127.0.0.1:6379 上连接到 Redis 时出错 (Errno::ECONNREFUSED) - Wercker

node.js - 在 OpenShift node.js 服务器上部署存储库

docker - 是否可以使用不同的参数多次运行docker容器?

docker - 在Windows 10的Laradock Docker上启动工作区时出现权限错误

docker - 想要具有Docker卷的持久性数据,但具有空目录

bash - Docker 使用 bash 脚本附加到 grep 重新启动的容器名称

docker - 新构建后的Docker中的镜像和容器

file - Docker:容器内npm创建的文件的权限