我有以下 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 功能或您喜欢的选择:
干杯
关于docker - 使用 pycharm 调试登台 docker compose 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39306713/