我可以解释发生了什么,但看看。。。我在这里使用docker和mysql,php,apache2。
如果我像这样一下子把所有的事情都启动起来,那就不一样了:
docker-compose up mysql apache2
或者,如果我决定首先在这样的终端窗口中只启动mysql:
docker-compose up mysql
在单独的终端窗口apache2中:
docker-compose up apache2
如果我一次启动所有程序,那么很多次都会出现以下错误:
Missing Tablespace
有时只要使用
docker-compose down
接着是另一个
docker-compose up mysql apache2
但大多数时候误差是一致的。我可以通过在不同的窗口中启动系统来避免这个错误,首先是mysql——一旦启动,我就启动apache2。
怎么会这样?我没有足够的码头知识来理解这种问题,但我想。在我看来,在实际应用程序被请求击中之前,apache不应该与mysql对话吗?
任何建议是非常感谢-让我知道如果进一步的信息是必要的
1条答案
按热度按时间c7rzv4ha1#
docker-compse.yaml中有一个名为
depends_on
要定义启动服务的需求顺序,请执行以下操作:那么,你应该使用
docker-compose up
从两者开始。参考文献:https://docs.docker.com/compose/compose-file/#depends_on