在docker-php api中的execstart上写入容器stdin

时间:2018-09-12 09:23:33

标签: docker docker-machine docker-engine

我有一个docker容器,我想在运行execstart之后写其标准输入。 我运行需要输入的PHP应用程序。 在Docker文档上,解释了可以使用WebSocket进行以下操作,但仅解释了stdout和stderr:

$docker = Docker::create();
$containerConfig = new ContainersCreatePostBody();
$containerConfig->setImage('py:test1');
// You need to attach stream of the container to docker
$containerConfig->setAttachStdin(true);
$containerConfig->setAttachStdout(true);
$containerConfig->setAttachStderr(true);
$containerConfig->setOpenStdin(true);
$containerConfig->setTty(true);
$ss= $docker->containerCreate($containerConfig);
$webSocketStream = $docker->containerAttachWebsocket($ss->getId(), [
    'stream' => true,
    'stdout' => true,
    'stderr' => true,
    'stdin'  => true,
]);
$docker->containerStart($ss->getId());
$line = $webSocketStream->read(10);

运行此代码,我得到错误:在null上调用成员函数write()

0 个答案:

没有答案