Mysql 为什么不反映docker-compose.yml的编辑内容?
我想通过使用Docker来使用MySQL 我编写了以下DockerFile和docker-compose.yml DockerfileMysql 为什么不反映docker-compose.yml的编辑内容?,mysql,docker,docker-compose,dockerfile,Mysql,Docker,Docker Compose,Dockerfile,我想通过使用Docker来使用MySQL 我编写了以下DockerFile和docker-compose.yml Dockerfile FROM mysql:8.0 RUN mkdir /var/log/mysql RUN touch /var/log/mysql/mysqld.log docker-compose.yml version: '3' services: dbserver: build: ./docker/mysql image: test-db:0.0.1
FROM mysql:8.0
RUN mkdir /var/log/mysql
RUN touch /var/log/mysql/mysqld.log
docker-compose.yml
version: '3'
services:
dbserver:
build: ./docker/mysql
image: test-db:0.0.1
restart: always
environment:
MYSQL_DATABASE: prototype
MYSQL_USER: user
MYSQL_PASSWORD: password
MYSQL_ROOT_PASSWORD: rootpassword
ports:
- "3306:3306"
volumes:
- ./docker/mysql/initdb.d:/docker-entrypoint-initdb.d
- ./docker/mysql/conf.d:/etc/mysql/conf.d
- ./log/mysql:/var/log/mysql
- ./docker/mysql/data:/var/lib/mysql
volumes:
mysql-bd:
driver: local
我成功地构建了数据库,并且可以确认数据库
然后我想更改数据库名称,所以我编辑了yml文件的一部分,如下所示
以前
MYSQL_DATABASE: prototype
之后
然后,我确认了数据库,但它的名称没有改变
我删除了MySQL容器并重试,但结果没有改变
为什么没有反映docker-compose.yml的编辑内容?您正在为数据库使用一个主机卷,这意味着数据库将在容器重新启动之间持久化
...
volumes:
./docker/mysql/data:/var/lib/mysql
...
删除本地目录./docker/mysql/data并重新启动服务。数据库更改将被反映。您正在为数据库使用主机卷,这意味着数据库将在容器重新启动之间持久化
...
volumes:
./docker/mysql/data:/var/lib/mysql
...
删除本地目录./docker/mysql/data并重新启动服务。数据库更改将反映出来。谢谢您的建议!反映了编辑内容。我删除了本地目录./docker/mysql/data并重新启动。一如你所说!谢谢你的建议!反映了编辑内容。我删除了本地目录./docker/mysql/data并重新启动。一如你所说!