I have the following docker-compose.yml
file:
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
For some reason, some functionalities that work on the local container do not work on staging.
I would like to configure a remote interpreter
in pycharm for staging, however it seems like this setup is not currently supported.
I am using wercker
+ docker compose
and my IDE is pycharm.
EDIT: The question is: How to setup Pycharm debugger to run on a remote host running docker compose
The solution, however not secure, is open the docker API on the remote target to public traffic via iptables
(possibly to traffic only from specific IP, if you posses a static 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
And then simply use the docker compose feature of JetBrain PyCharm / PhpStrom or you favourite choice:
Cheers