为什么这会有什么不同?docker/mysql/apache2

lb3vh1jj  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(362)

我可以解释发生了什么,但看看。。。我在这里使用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对话吗?
任何建议是非常感谢-让我知道如果进一步的信息是必要的

c7rzv4ha

c7rzv4ha1#

docker-compse.yaml中有一个名为 depends_on 要定义启动服务的需求顺序,请执行以下操作:

version: '3.4'
services:
  mysql:
    image: mysql:5.6
  apache2:
    image: httpd:alpine
    depends_on:
      - mysql

那么,你应该使用 docker-compose up 从两者开始。
参考文献:https://docs.docker.com/compose/compose-file/#depends_on

相关问题