在python循环中执行time.sleep(1)时,docker卡住了

Roy*_*Roy 2 python sleep loops docker docker-compose

使用docker-composepython:2.7,它只在执行while 1循环和time.sleep(1)单独运行时正确运行.

但是当它们一起执行时它会停滞不前.

这是docker版本和我的文件内容 mac

tmp docker -v
Docker version 1.12.5, build 7392c3b
tmp cat docker-compose.yml
version: '2'
services:
    test:
        image: python:2.7
        command: [python, -c, "print 0\nwhile 1:\n\tprint 1\n\tbreak"]
tmp docker-compose up
Creating network "tmp_default" with the default driver
Creating tmp_test_1
Attaching to tmp_test_1
test_1  | 0
test_1  | 1
tmp_test_1 exited with code 0
tmp cat docker-compose.yml
version: '2'
services:
    test:
        image: python:2.7
        command: [python, -c, "print 0\nimport time\nprint time.sleep(1)"]
tmp docker-compose up
Recreating tmp_test_1
Attaching to tmp_test_1
test_1  | 0
test_1  | None
tmp_test_1 exited with code 0
tmp cat docker-compose.yml
version: '2'
services:
    test:
        image: python:2.7
        command: [python, -c, "print 0\nimport time\nwhile 1:\n\tprint time.sleep(1)"]
tmp docker-compose up
Recreating tmp_test_1
Attaching to tmp_test_1
Run Code Online (Sandbox Code Playgroud)

而且这里卡住了.

希望知道解决它的原因和方法,谢谢.

fer*_*sta 6

添加-u标志到python以获得无缓冲的标准输出:

command: [python, -uc, "print 0\nimport time\nwhile 1:\n\tprint time.sleep(1)"]
Run Code Online (Sandbox Code Playgroud)