Dockerfile快速部署mysql数据库并初始化

时间:2022-04-24 04:26:07

  • 官方网址:https://hub.docker.com/_/mysql
  • dockerfile(设置环境变量,用ADD拷贝可直接执行,COPY不行)
    • FROM mysql:5.7
      WORKDIR /docker-entrypoint-initdb.d
      ENV LANG=C.UTF-8
      ADD init.sql .
  • 初始化sql语句:
    • -- 建库
      create database `db_student`; SET character_set_client = utf8; use db_student;
      -- 建表
      drop table if exists `user`;
      CREATE TABLE user (
      id tinyint(5) zerofill auto_increment not null comment 学生学号, name varchar(20) default null comment 学生姓名,
      age tinyint default null comment 学生年龄,
      class varchar(20) default null comment 学生班级,
      sex char(5) not null comment 学生性别,
      unique key (id)
      )engine=innodb charset=utf8;
      -- 插入数据
      insert into user values(1,小明,15,初三,); insert into user values(2,小红,13,初二,);

       

  • 生成镜像命令:
    • docker build -t my-mysql:5.7 .
    启动命令:(MYSQL_ROOT_PASSWORD为必填参数,为mysql,root用户设置密码)
    • docker run --name some-mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=abc123 -d my-mysql:5.7
  • 进入容器命令:
    • docker exec -it 镜像id  /bin/bash