我想通过使用码头来使用MySQL。
我编写了下面的DockerFile和dockerCompose.yml。
Dockerfile
FROM mysql:8.0
RUN mkdir /var/log/mysql
RUN touch /var/log/mysql/mysqld.logdocker-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_DATABASE: test_db然后,我确认了数据库,但它的名称没有更改。
我删除了MySQL容器,然后再试一次,但是结果没有改变。
为什么没有反映dockerCompose.yml的编辑内容?
发布于 2020-02-29 06:58:19
您正在为数据库使用主机卷,这意味着数据库将在容器重新启动之间持久化。
...
volumes:
./docker/mysql/data:/var/lib/mysql
...删除本地目录./docker/mysql/data并重新启动服务。数据库的更改将得到反映。
https://stackoverflow.com/questions/60462689
复制相似问题