在yml文件中加入:
mysql:
image: mysql:5.7
volumes:
- ./db/mysql/data:/var/lib/mysql
- ./db/mysql/example_db:/var/example_db
- ./db/mysql/conf.d:/etc/mysql/conf.d
ports:
- "3306:3306"
restart: always
environment:
- MYSQL_ROOT_PASSWORD=fecshop123
- MYSQL_DATABASE=fecshop_trace
networks:
- code-network
docker-compose,mysql容器按照上面的配置,初始化创建数据库不成功!
我的操作步骤:
我第一次没有设置MYSQL_DATABASE,build后up启动后,我想加入默认数据库,
然后按照上面的配置,加上了数据库初始化MYSQL_DATABASE=fecshop_trace,然后关闭,重新build,启动
,发现mysql容器的数据库并没有创建
发现,如果数据库的数据文件夹部分,如果使用挂载的宿主主机的文件夹,要保证这个文件夹里面是空的(里面有.gitignore等隐藏文件没事),如果里面有文件,就不会初始化数据库
因此
1.首先要关闭docker-compose(必须先关闭在删除文件)
docker-compose stop
2.进入./db/mysql/data,将 里面的文件清空
cd ./db/mysql/data
rm -rf ./*
注意要进对了文件夹,以免删除错文件
然后重启即可
docker-compose up -d
数据库初始化就好了