compose和mysql的结合

pbpqsu0x  于 2021-07-18  发布在  Java
关注(0)|答案(0)|浏览(324)

我有一些关于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脚本,它应该存储在哪里?
这种溶液能和液化酶一起使用吗?
衷心感谢您的反馈

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题