在运行Docker项目时,最好能够在主机操作系统上打开具有某些参数的应用程序(在该应用程序上调用docker-compose up )。这在运行web应用程序时是合理的。例如,我希望在运行http://localhost:8080时,让Docker在主机上自动打开带有docker-compose run位置的浏览器,而不是手动打开浏览器并输入http://localhost:8080。就像我们在Minikube中看到的那样(例如,在运行minikube service web-deployment时)。
我知道docker-compose.yml中有一些参数可以用来传递命令,以便在容器(如command和entrypoint )中运行,但我不知道主机操作系统上的应用程序是否可以使用这些参数。
发布于 2021-12-23 14:37:13
写作可以做一套非常有限的事情。它可以构建Docker映像,而不需要任何排序约束,并且可以使用非常有限的排序约束启动(想必是长时间运行的) Docker容器。它可以创建两个相关联的Docker对象,如网络和命名卷。这就是它所能做的所有事情;它不能完成更大范围的编排任务(“运行这个迁移容器,然后运行这个应用程序”)或启动非Docker任务。
您可以使用一些基于主机的工具来管理这个问题。即使是一个shell脚本也足够了;可能是这样的
#!/bin/sh
# start the container stack
# (assumes the caller has permission to do this)
docker-compose up -d
# wait for the service to be ready
while ! curl --fail --silent --head http://localhost:8080; do
sleep 1
done
# open the browser window
open http://localhost:8080https://stackoverflow.com/questions/70462016
复制相似问题