我希望您能够为我的MySQL容器创建一个卷,以便数据可以持久化。因此,在我的docker-compose中,我创建了一个卷,用于存储数据。
这是我的docker-compose:
该卷在文件末尾定义。不幸的是,这并没有起作用。如果我运行“docker container ls”,它只显示资产组合容器,而如果我运行“docker container ls -a”,它会显示MySQL容器,但它说在我运行“docker-compose up -d”之后立即“退出”。因此,显然它已经启动了,但随后立即崩溃或类似情况发生。
如果我删除与MySQL卷相关的最后两行,则可以正常工作。我的容器都已启动,并且应用程序正常工作。因此,基本上导致容器崩溃的原因是卷,因此可能我没有正确定义它。你认为呢?
这是我的docker-compose:
version: '3'
services:
app:
build:
context: .
dockerfile: .docker/Dockerfile
image: portfolio
ports:
- 80:80
volumes:
- .:/var/www/html
links:
- mysql
environment:
DB_HOST: mysql
DB_DATABASE: blog
DB_USERNAME: blog
DB_PASSWORD: ...
mysql:
image: mysql:5.7
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: blog
MYSQL_USER: blog
MYSQL_PASSWORD: ...
MYSQL_ROOT_PASSWORD: ...
volumes:
- "./db:/var/lib/mysql"
该卷在文件末尾定义。不幸的是,这并没有起作用。如果我运行“docker container ls”,它只显示资产组合容器,而如果我运行“docker container ls -a”,它会显示MySQL容器,但它说在我运行“docker-compose up -d”之后立即“退出”。因此,显然它已经启动了,但随后立即崩溃或类似情况发生。
如果我删除与MySQL卷相关的最后两行,则可以正常工作。我的容器都已启动,并且应用程序正常工作。因此,基本上导致容器崩溃的原因是卷,因此可能我没有正确定义它。你认为呢?