调试暂存 docker 使用 pycharm 组合服务器
Debugging staging docker compose server with 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
出于某种原因,一些在本地容器上运行的功能在暂存上不起作用。
我想在 pycharm 中配置一个 remote interpreter
用于暂存,但是目前似乎不支持此设置。
我正在使用 wercker
+ docker compose
,我的 IDE 是 pycharm。
编辑:
问题是:
如何在远程主机上将 Pycharm 调试器设置为 运行 运行ning 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 组合功能或您最喜欢的选择:
干杯
我有以下 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 调试器设置为 运行 运行ning 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 组合功能或您最喜欢的选择:
干杯