MySQL Official Image

MySQL官方镜像内置**docker-entrypoint-initdb.d**目录,当镜像启动为容器时会自动执行**docker-entrypoint-initdb.d**目录下的**sql**文件

    1. 宿主机挂载的逻辑卷目录(**例如:/data/mysql-init.d目录)**下将我们需要初始化的***.sql**文件放好。
    1. 将官方镜像里的**docker-entrypoint-initdb.d**目录挂载到外部
  1. docker run -it --name my-db \
  2. -v /data/mysql-init.d:/docker-entrypoint-initdb.d \
  3. -e MYSQL_ROOT_PASSWORD=my-secret-pw \
  4. -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:

  1. - 8080:8080
  1. ```yaml
  2. version: '3'
  3. services:
  4. db:
  5. image: mysql/mysql-server
  6. command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci
  7. restart: always
  8. ports:
  9. - 3306:3306
  10. envrionment:
  11. MYSQL_ROOT_PASSWORD: Root@123$%^
  12. MYSQL_USER: yaml
  13. MYSQL_PASSWORD: Yaml@123$%^
  14. volumes:
  15. - /data/mysql-init.d:/docker-entrypoint-init.d
  16. web:
  17. build: .
  18. container_name: yamlweb
  19. ports:
  20. - 8080:80
  21. depends_on:
  22. - db

Docker Compose命令小记

  1. # 启动运行
  2. docker-compose up
  3. # 后台启动运行
  4. docker-compose up -d
  5. # 启动运行的时候强制生成新的镜像
  6. docker-compose up -d --build --force-recreate