将ENTRYPOINT bash脚本的输出重定向到控制台
我有以下bash脚本,它作为Dockerfile中的将ENTRYPOINT bash脚本的输出重定向到控制台,bash,docker,Bash,Docker,我有以下bash脚本,它作为Dockerfile中的入口点运行: #!/bin/bash python main.py ./bin/localstack start --host 当我启动此图像的容器时,我收到python命令的输出: localstack | * Serving Flask app "main" (lazy loading) localstack | * Environment: production localstack
入口点运行:
#!/bin/bash
python main.py
./bin/localstack start --host
当我启动此图像的容器时,我收到python命令的输出:
localstack | * Serving Flask app "main" (lazy loading)
localstack | * Environment: production
localstack | WARNING: Do not use the development server in a production environment.
localstack | Use a production WSGI server instead.
localstack | * Debug mode: on
localstack | * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
localstack | * Restarting with stat
localstack | * Debugger is active!
localstack | * Debugger PIN: 177-561-621
但是我没有看到localstack start命令的输出,也没有执行该命令。如果我将shell附加到容器,并从工作目录手动执行/bin/localstack start--host
,那么该命令将执行并显示输出
如何成功地运行该命令,并将输出重定向到已经用作python命令输出的同一个shell?我找到了答案。我只需通过以下方式将这两个过程连接起来:
#!/bin/bash
python main.py & ./bin/localstack start --host
我想出来了。我只需通过以下方式将这两个过程连接起来:
#!/bin/bash
python main.py & ./bin/localstack start --host
main.py是否退出以让脚本继续?main.py不退出,它的进程在启动后保持活动状态。这是否会阻止bash脚本中的下一个命令被执行?main.py是否会退出以让脚本继续?main.py不会退出,它的进程在启动后保持活动状态。这是否会阻止bash脚本中的下一个命令被执行?