Почему другие докеры не могут отправлять трафик через ssh socks? - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть файл docker-compose.yml с несколькими контейнерами: php + nginx + mysql + socks5

version: "2"

services:
    php:
        image: "superapp"
        container_name: "superapp"
        command: "/laravel.sh"
        build:
            context: ./docker/php
        volumes:
            - "./:/var/www/superapp"
        links:
            - mysql
        environment:
            PHP_IDE_CON§IG: serverName=superapp.com
        depends_on:
            - mysql

    nginx:
        container_name: "nginx"
        build:
            context: ./docker/nginx
            args:
                - PHP_UPSTREAM=php
        volumes_from: [php]
        volumes:
            - ./docker/nginx/sites-available/:/etc/nginx/sites-available
        ports:
            - "80:80"
            - "443:443"
            - "9000:9000"
        links:
            - php

    mysql:
         container_name: "database"
         image: mysql:latest
         command: '--default-authentication-plugin=mysql_native_password'
         ports:
            - '3307:3306'
         volumes:
            - ./docker/mysql:/var/lib/mysql
         environment:
            - MYSQL_ROOT_PASSWORD=password
            - MYSQL_DATABASE=megabase

    socks5:
        container_name: "socks5"
        build: ./docker/socks5
        ports:
          - '1080:1080'

socks5 DockerFile

FROM debian:jessie

ADD ssh/ /root/.ssh
ADD config/ssh_config /etc/ssh

CMD ["ssh", "-C2qTnN", "-D", "1080", "user@ip"]

EXPOSE 1080

Когда я пытаюсь в контейнере socks5 запустить эту команду

curl --socks5 127.0.0.1:1080 http://check-host.net/ip

Я успешно получаю IP-адрес, но когда я пробую его на php-контейнере

curl --socks5 socks5:1080 http://check-host.net/ip

У меня ошибка "curl: (7) Не удалось подключиться к порту socks5 1080: соединение отклонено"

tcpdump в контейнере socks5 показывает, что 1080 получает трафик из php контейнера!

если я запускаю socat на порту 1081 на контейнере socks5 и транслирую его на 127.0.0.1:1080, это замедлит мою проблему!

но как я могу отправить свой трафик из php-контейнера в контейнер socks5?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...