【发布时间】:2020-03-14 18:47:28
【问题描述】:
直接问题
我正在 BG 中的子 shell 中启动命令。如何将输出传递给 FG 进程并在屏幕上显示?
( /opt/mssql/bin/sqlservr & ) | grep -q "Service Broker manager has started"
此命令有效,但我在屏幕上看不到 sqlserver 的输出。
脚本在继续之前等待sqlserver 打印"Service Broker manager has started" 至关重要。
用例和源代码
这是当前设置。文件是缩写的。
--- Dockerfile
FROM mcr.microsoft.com/mssql/server:2019-latest
CMD ["/bin/bash", "dockerrun.sh"]
--- dockerrun.sh
# start DB and wait for it to be up.
( /opt/mssql/bin/sqlservr & ) | grep -q "Service Broker manager has started"
# restore the DB from backup file
~/sqlpackage/sqlpackage #args
# keep this script running, otherwise Docker will stop the container.
while sleep 1000; do :; done
【问题讨论】:
标签: sql-server bash shell docker dockerfile