docker-compose 创建数据库并导入数据的方法
时间: 2023-10-24 12:06:21 浏览: 155
metabase-compose:使用compose运行Metabase的dockerized解决方案
可以使用docker-compose来创建数据库并导入数据,以下是一个示例:
```yaml
version: '3'
services:
db:
image: mysql:latest
environment:
MYSQL_DATABASE: mydatabase
MYSQL_ROOT_PASSWORD: mypassword
volumes:
- ./data:/var/lib/mysql
- ./db.sql:/docker-entrypoint-initdb.d/db.sql
```
在上面的示例中,我们创建了一个名为db的MySQL数据库服务。我们设置了环境变量,包括数据库名称和root用户密码。我们还将MySQL数据文件和我们要导入的db.sql文件挂载到容器中。
然后,我们需要在与docker-compose.yml文件相同的目录中创建一个名为db.sql的文件,其中包含我们要导入的数据。例如,以下是一个简单的db.sql文件:
```sql
CREATE TABLE users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(30) NOT NULL,
email VARCHAR(50) NOT NULL
);
INSERT INTO users (username, email)
VALUES ('john', 'john@example.com'),
('jane', 'jane@example.com');
```
最后,我们可以使用以下命令来启动我们的数据库服务:
```bash
docker-compose up -d
```
这将创建一个名为db的容器,并在初始化时运行我们的db.sql文件来创建表和插入数据。
阅读全文