MySQL官方镜像内置**docker-entrypoint-initdb.d**目录,当镜像启动为容器时会自动执行**docker-entrypoint-initdb.d**目录下的**sql**文件
- 宿主机挂载的逻辑卷目录
(**例如:/data/mysql-init.d目录)**下将我们需要初始化的***.sql**文件放好。
- 宿主机挂载的逻辑卷目录
- 将官方镜像里的
**docker-entrypoint-initdb.d**目录挂载到外部
- 将官方镜像里的
docker run -it --name my-db \-v /data/mysql-init.d:/docker-entrypoint-initdb.d \-e MYSQL_ROOT_PASSWORD=my-secret-pw \-d mysql:tag
Docker Compose
- 官方示例: ```yaml version: ‘3.1’
services:
db: image: mysql command: —default-authentication-plugin=mysql_native_password restart: always environment: MYSQL_ROOT_PASSWORD: example
adminer: image: adminer restart: always ports:
- 8080:8080
```yamlversion: '3'services:db:image: mysql/mysql-servercommand: mysqld --character-set-server=utf8 --collation-server=utf8_general_cirestart: alwaysports:- 3306:3306envrionment:MYSQL_ROOT_PASSWORD: Root@123$%^MYSQL_USER: yamlMYSQL_PASSWORD: Yaml@123$%^volumes:- /data/mysql-init.d:/docker-entrypoint-init.dweb:build: .container_name: yamlwebports:- 8080:80depends_on:- db
Docker Compose命令小记
# 启动运行docker-compose up# 后台启动运行docker-compose up -d# 启动运行的时候强制生成新的镜像docker-compose up -d --build --force-recreate
