Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Docker start不在控制台上提供打印输出_Python_Docker - Fatal编程技术网

Python Docker start不在控制台上提供打印输出

Python Docker start不在控制台上提供打印输出,python,docker,Python,Docker,如果您从一个图像在docker中构建一个容器,并以“docker run”启动它,我的python脚本将像往常一样运行,并且还将向控制台提供所需的打印。 但是如果我现在用“docker start”再次启动同一个容器,我在控制台上不会得到任何打印输出 因此,是否总是需要根据图像构建一个新容器,或者我当前缺少一个 在下文中,我将为您提供一个简短的测试python脚本: 将numpy导入为np 导入系统 从absl导入应用程序,标记 从absl.flags导入标志 导入include\u文件 从外部

如果您从一个图像在docker中构建一个容器,并以“docker run”启动它,我的python脚本将像往常一样运行,并且还将向控制台提供所需的打印。 但是如果我现在用“docker start”再次启动同一个容器,我在控制台上不会得到任何打印输出

因此,是否总是需要根据图像构建一个新容器,或者我当前缺少一个

在下文中,我将为您提供一个简短的测试python脚本:

将numpy导入为np
导入系统
从absl导入应用程序,标记
从absl.flags导入标志
导入include\u文件
从外部模块导入外部
标志。定义字符串(“pa”、“标准”、“测试”)
def干管(_argv):
打印(“Python版本:”)
打印(系统版本)
打印(“Numpy版本:”)
打印(np.version.version)
打印(“你好,世界!”)
包括_文件。_druck()
外部。_druck()
打印(FLAGS.pa)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
尝试:
应用程序运行(主)
除系统退出外:
通过

这很可能是因为您没有告诉它在交互式会话中启动,所以请尝试
docker start-i
。否则,在运行此命令时,脚本可能不会自动启动。

太棒了,它可以正常工作。我还有第二个问题。是否可以使用“docker start”语句更改标志,或者是否应该使用“docker run”和新标志参数构建新容器?我确信您可以更改某些标志,但无法打开端口。所以答案是,我知道有些标志不能更改,但如果所有标志都不能更改,您必须尝试您感兴趣的标志。我尝试使用以下命令更改第9行的标志“pa”:docker start-I container_name--pa“foo”。但是上面写着“未知旗帜:--pa”我没有用过那面旗帜,你需要阅读官方对那面旗帜的描述<代码>--pa不是有效的Docker命令行选项。请提出一个新问题,不要在评论中滔滔不绝;但是先搜索一个重复的容器。根据我的经验,
docker启动一个现有容器是不常见的,而
docker rm
旧容器和
docker运行一个新容器更常见。(还要记住,您有时会被迫删除容器:如果您需要持久数据,请确保它存储在卷中或容器文件系统之外。)