Vis*_*ioN 6 shell-script process-management docker
我最近遇到了一个(对我来说)不平凡的案例。也许你知道有什么办法可以解决它。
我有一个 shell 脚本,它运行 Docker 命令来启动 Ubuntu 容器,最终运行来宾 Bash,启动一些系统服务,包括 Web 服务器。来宾 Bash 初始化后,我想在主机上打开 Web 浏览器。目前看起来是这样的:
docker run -it -p $PORT:80 -v $ROOT:/usr/share/nginx $PROJECT
python -m webbrowser http://localhost:$PORT
Run Code Online (Sandbox Code Playgroud)
但这显然效果不佳,因为脚本会等到docker
退出才开始python
。交换它们不会起作用,因为网站将在来宾 Bash(和 Web 服务器)启动之前加载。同时我需要使用 来运行 Docker -it
,所以docker ... & python ...
效果不太好。
有什么办法可以让事情顺利进行吗?
您可以在后台初始延迟后运行网络浏览器:
(sleep 2 && python -m webbrowser http://localhost:$PORT) &
docker run -it -p $PORT:80 -v $ROOT:/usr/share/nginx $PROJECT
Run Code Online (Sandbox Code Playgroud)
我为Docker 包装器执行此操作,以便查看主机中容器提供的自述文件,它对我来说效果很好。这取决于您的容器需要启动多长时间。
归档时间: |
|
查看次数: |
10612 次 |
最近记录: |