我有一些关于docker compose多数据库的问题,包括spring boot项目和mysql。
我已经看了一些关于这个设置的资源,但是我找不到我的快乐。
我有几个微服务,1个代理,1个资源,1个实习和1个论坛。所以我用docker文件创建了另一个项目这里是架构:
我的docker-compose.yml
version: '3'
services:
db:
image: mysql:5
volumes:
# - ./data:/var/lib/mysql
- ./script/create-multiple-database.sh:/docker-entrypoint-initdb.d/create-multiple-database.sh
restart: always
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: some_password
MYSQL_USERNAME: admin
MYSQL_PASSWORD: admin
MYSQL_MULTIPLE_DATABASES: ms-agent,ms-forum,ms-ressource,ms-stage
my create-multiple-database.sh:
# !/bin/bash
set -e
set -u
function create_user_and_database() {
local database=$1
echo " Creating user and database '$database'"
mysql -e ON_ERROR_STOP=1 -u"$MYSQL_USERNAME" -p"$MYSQL_ROOT_PASSWORD" <<MYSQL_SCRIPT
CREATE USER $database;
CREATE DATABASE $database;
GRANT ALL PRIVILEGES ON DATABASE $database TO $database;
MYSQL_SCRIPT
}
if [ -n "$MYSQL_MULTIPLE_DATABASES" ]; then
echo "Multiple database creation requested: $MYSQL_MULTIPLE_DATABASES"
for db in $(echo $MYSQL_MULTIPLE_DATABASES | tr ',' ' '); do
create_user_and_database $db
done
echo "Multiple databases created"
fi
所以我有几个问题:
我试过了,它让我访问拒绝所有的时间,甚至通过改变mysql行和尝试几个密码。所以我一定不明白如何使用mysql密码或user或root\u密码。
如果我想在docker映像启动期间运行mysql脚本,它应该存储在哪里?
这种溶液能和液化酶一起使用吗?
衷心感谢您的反馈
暂无答案!
目前还没有任何答案,快来回答吧!