我从/docker-entrypoint-initdb.d中找到了目录,并阅读了的“初始化一个新实例”部分。但是,当我在包含下面的docker-compose up文件的目录中运行docker-compose.yml时,我的数据库没有被初始化。
services:
# Use root/root as MySQL user/password credentials
db:
image: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: root
我正在使用这个 docker文件,为了启动和运行安装了mysql的docker镜像,docker文件创建了一个名为root且没有密码的用户,我需要的是向docker文件中添加类似以下内容:
RUN mysql -uroot -p"" && mysql create database test;
因此,当我从docker文件构建一个镜像时,数据库应该已经在那里了。
我使用mysql/ mysql -server映像在docker中创建mysql服务器。因为我想自动设置我的数据库(添加用户,创建表),所以我已经创建了一个SQL文件。为了自动运行该脚本,我用这个dockerfile扩展了映像:
FROM mysql/mysql-server:latest
RUN mkdir /scripts
WORKDIR /scripts
COPY ./db_setup.sql .
RUN mysql -u root -p password < cat db_setup.sql
但出于某种原因,这种情况会发生:
/bin/sh: cat: No such fil
你好,我创建了mysql映像,并使用以下命令
docker run --name db-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest --> Run container with my sql
docker拉mysql ->用mysql创建图像
docker run --name db_mysql-e MYSQL_ROOT_PASSWORD=1234 -e MYSQL_DATABASE=mami -p 3306:3306 -d mysql
我执行它,但是在那之后,我不知道该做什么,不知道如何在这个容器中创建DB