我有一个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()