debugging登台docker用pycharm编写服务器

我有以下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 

出于某种原因,在本地容器上工作的某些function在分段上不起作用。 我想在pycharm中configuration一个remote interpreter器进行登台,但是看起来这个设置目前还不支持。

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

编辑:现在的问题是:如何设置Pycharmdebugging器运行在运行docker组成的远程主机上

这个解决scheme虽然不安全,但是通过iptables将远程目标上的Docker API打开为公共stream量(如果拥有静态IP,可能只能从特定IP进行stream量)。

 $ 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撰写function或者您最喜欢的select:

在这里输入图像说明

干杯

Interesting Posts