Docker-Compose 一键部署mysql及初始化sql脚本

发布时间 2023-08-05 14:18:02作者: Sherlock先生

1. 部署前提:

服务器具备docker 和 docker-compose环境

2. 镜像准备:

- mysql:

DockerFile文件:

FROM mysql:5.7.41
COPY *.sql /docker-entrypoint-initdb.d/

初始化sql脚本xxx.sql放在DockerFile文件同级目录下

执行指令:

docker build -f dockerfile_mysql -t mysql:1.0.0 .

3. Docker-Compose

version: "3"
services:
  mysql:
    hostname: mysql
    container_name: mysql
    image: mysql:1.0.0
    volumes:
      - /home/mysql/data:/var/lib/mysql
      - /home/mysql/config/my.cnf:/etc/my.cnf
    environment:
      - MYSQL_ROOT_PASSWORD=123456
    ports: 
      - 13306:3306
    restart: on-failure

其中 /home/mysql/config/my.cnf 文件需要提前准备好放在指定目录下, 这样后期如果要修改my.cnf参数, 可以直接在宿主机上改好, 再重启容器即可

/home/mysql/data文件夹是为了映射挂载mysql的数据文件, 这样可以保证容器删除后重新构建数据依旧存在, 相当于做了一个数据持久化至宿主机

运行容器:

docker-compose -f my-compose.yaml up -d mysql