下面是我的示例 c 程序
#include <stdio.h>
int main()
{
int x, y, z;
scanf("%d%d", &x, &y);
printf("%d,%d" ,x,y);
z = x + y;
printf("%d", z);
return 0;
}
我能够编译程序并构建图像(docker build -t sample_c .
)。现在在运行容器时,我想将输入参数作为 echo 传递给容器。我如何使用 python docker 实现这一点
echo "1 2" | ./c_executable ( passing input values to executable file)
在 python shell 中,我试图运行容器并传递参数,如图所示。获得结果,但 x 和 y 值被视为一些随机数。
>>> import docker
>>> client = docker.from_env()
>>> client.containers.run(image='sample_c',command='echo "1 2" | ',entrypoint='/opt/c_build_dir/c_executable')
b'21911,14414231201441445031'
>>> client.containers.run(image='sample_c',command='echo "1 2" | /opt/c_build_dir/c_executable')
b'1 2 | /opt/c_build_dir/c_executable\n'
我如何使用 python docker 实现这一点?