cmd:使用 docker 输出字符串时打开浏览器
cmd: Open a browser when a string is output using docker
我是 运行 来自 cmd(一个 .bat 脚本)的 docker 命令。
命令看起来像
docker run --shm-size=1gb -it --privileged --name test p 8080:8080 -h test thom/test:latest
我想创建一个循环,等待某个字符串在我调用此命令后出现,或者它等待端口 (8080) 打开。字符串是“Daemon started!”,输出的时候我想打开浏览器:
explorer "http://localhost:8080"
虽然没有重新启动 docker 命令,但我正在努力批量创建一个 while 循环。这是我目前所拥有的。
:loop
timeout /t 5
(docker run --shm-size=1gb -it --privileged --name test p 8080:8080 -h test thom/test:latest | find "proxy Daemon started!") > nul 2>&1
if find "proxy Daemon started!" goto loop
echo I can go!
explorer "http://localhost:8080
使用 findstr
和结果 errorlevel
相应地执行操作,您还可以使用条件运算符 &&
和 ||
,如第二个示例所示:
@echo off
:loop
timeout /t 5
(docker run --shm-size=1gb -it --privileged --name test p 8080:8080 -h test thom/test:latest | findstr /R "proxy.*Daemon.*started")>nul 2>&1
if errorlevel 1 goto :loop
echo I can go!
explorer "http://localhost:8080"
或条件运算符用法:
:loop
timeout /t 5
(docker run --shm-size=1gb -it --privileged --name test p 8080:8080 -h test thom/test:latest | findstr /R "proxy.*Daemon.*started")>nul 2>&1 && explorer "http://localhost:8080" || goto :loop
我是 运行 来自 cmd(一个 .bat 脚本)的 docker 命令。
命令看起来像
docker run --shm-size=1gb -it --privileged --name test p 8080:8080 -h test thom/test:latest
我想创建一个循环,等待某个字符串在我调用此命令后出现,或者它等待端口 (8080) 打开。字符串是“Daemon started!”,输出的时候我想打开浏览器:
explorer "http://localhost:8080"
虽然没有重新启动 docker 命令,但我正在努力批量创建一个 while 循环。这是我目前所拥有的。
:loop
timeout /t 5
(docker run --shm-size=1gb -it --privileged --name test p 8080:8080 -h test thom/test:latest | find "proxy Daemon started!") > nul 2>&1
if find "proxy Daemon started!" goto loop
echo I can go!
explorer "http://localhost:8080
使用 findstr
和结果 errorlevel
相应地执行操作,您还可以使用条件运算符 &&
和 ||
,如第二个示例所示:
@echo off
:loop
timeout /t 5
(docker run --shm-size=1gb -it --privileged --name test p 8080:8080 -h test thom/test:latest | findstr /R "proxy.*Daemon.*started")>nul 2>&1
if errorlevel 1 goto :loop
echo I can go!
explorer "http://localhost:8080"
或条件运算符用法:
:loop
timeout /t 5
(docker run --shm-size=1gb -it --privileged --name test p 8080:8080 -h test thom/test:latest | findstr /R "proxy.*Daemon.*started")>nul 2>&1 && explorer "http://localhost:8080" || goto :loop