@Zimaell

Как использовать docker в несколько потоков?

На данный момент я запускаю докер так
docker run -e "CONNECTION_TIMEOUT=600000" -p 127.0.0.1:3000:3000 --restart always -d --name browserless browserless/chrome

И использую его в puppeteer (PHP) так
$options=array(
    'headless'=>false,
    'defaultViewport'=>array('width'=>1440,'height'=>900,'isMobile'=>false),
    'ignoreHTTPSErrors'=>true,
    'ignoreDefaultArgs'=>true,
    'args'=>array('--incognito',
		'--0',
		'--window-size=1440,900',
		'--no-sandbox',
		'--disable-setuid-sandbox',
		'--ignore-certifcate-errors',
		'--ignore-certifcate-errors-spki-list',
		'--shm-size=2gb')
	);
$options['browserWSEndpoint']='ws://localhost:3000/?ignoreDefaultArgs=true&headless=false&'.implode('&',$options['args']);
$browser=$puppeteer->connect($options);

На сколько я понимаю то я не могу запустить еще один скрипт на тот же порт пока работает этот, тогда как можно его запустить в несколько потоков?
Я предполагаю что нужно еще один докер запускать с другим портом (например -p 127.0.0.1:3001:3001) и в настройках php указывать тот же порт (ws://localhost:3001/?ignoreDefaultArgs=...).
Подскажите правильно ли я рассуждаю или это нужно делать по другому?
Учитывая что скрипты будут запускаться отдельно...
  • Вопрос задан
  • 329 просмотров
Пригласить эксперта
Ответы на вопрос 1
Доброго времени.

В целом, если я все правильно понял - Вам требуется сделать docker-compose.yml, в котором описать этот сервис.

Далее требуется использовать команду типа:

docker-compose scale тут_имя_вашего_сервиса=2 worker=3


Документация
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы