docker为mariadb编写cat自定义conf



https://hub.docker.com/_/mariadb

我很好奇我是不是走错了路???我基本上需要cat自定义配置变量到my.cnf。这可以通过docker-compose.yml完成吗?还是我最好创建一个单独的Dockerfile来创建SQL映像,允许远程连接,从而添加一个用户、GRANT、FLUSH等?

这是我的码头组合。yml:

services:
app:
build: .
ports:
- "80:80"
volumes:
- ./project:/home
sql:
image: mariadb
ports:
- "3606:3606"
restart: always
environment:
MYSQL_ROOT_PASSWORD: root

编辑|

/doker入口点initdb.d/setup.sh

mysql -u root -e "CREATE USER 'apps'@'%' IDENTIFIED BY ''; GRANT ALL PRIVILEGES ON *.* TO 'apps'@'%'; FLUSH PRIVILEGES;"

我需要在docker compose.yml中添加一些内容吗???

您可以利用这一点:When a container is started for the first time [...], it will execute files with extensions .sh, .sql, .sql.gz, and .sql.xz that are found in /docker-entrypoint-initdb.d

您可以创建一个具有所需规格的脚本(用户创建等(,并将其放在/docker-entrypoint-initdb.d目录中。它将用您需要的东西初始化数据库,在您可以放入/etc/mysql/conf.d的其他配置之上

只需使用绑定挂载,或者使用带有ADDCOPY的自定义映像

最新更新