Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Есть два докер контейнера и из одного нужно подключится к другому.

Примерное содержание docker-compose.yml

version: '3'

services:

php:

build:

context: services/php

dockerfile: Dockerfile

volumes:

- ./src:/var/www/html

ports:

- "9000:9000"

bitcoin:

depends_on:

- php

build:

context: services/bitcoin

dockerfile: Dockerfile

volumes:

- ./services/bitcoin/data:/data/.bitcoin

- ./services/bitcoin/bitcoin.conf:/data/.bitcoin/bitcoin.conf

ports:

- "8332"

command:

-rpcallowip=0.0.0.0/0

-rpcbind=0.0.0.0

-disablewallet

-zmqpubhashtx=tcp://127.0.0.1:7777

-zmqpubhashblock=tcp://127.0.0.1:7777

-zmqpubrawblock=tcp://127.0.0.1:7777

-zmqpubrawtx=tcp://127.0.0.1:7777

-zmqpubsequence=tcp://127.0.0.1:7777

Условный код из контейнера php:

use React\EventLoop\Loop;

use React\ZMQ\Context;

include "vendor/autoload.php";

$loop = Loop::get();

$context = new Context($loop);

$socket = $context->getSocket(ZMQ::SOCKET_SUB);

$socket->setSockOpt(ZMQ::SOCKOPT_RCVHWM, 0);

$socket->bind('tcp://127.0.0.1:7777');

$socket->subscribe('hashblock');

$socket->subscribe('hashtx');

$socket->subscribe('rawblock');

$socket->subscribe('rawtx');

$socket->subscribe('sequence');

$socket->on('messages', function ($msg){

$topic = $msg[0];

echo $topic;

});

$loop->run();

Скорее всего решается дополнительным описанием docker-compose файла.

2 года назад
rzkhrv
Роман 
28 летРоссия
3 года в сервисе
Был
2 года назад