Docker-实战系列之docker快速部署mysql数据库并初始化

官方网址:

https://hub.docker.com/

获取镜像:

docker pull mysql:5.7

 

一、使用mysql:5.7创建容器

  • 启动命令:
docker run --name some-mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -d mysql:5.7
(--name 为mysql的实例设置别名。 -p 3307为对外暴露的端口。3306是内部端口
e MYSQL_ROOT_PASSWORD 设置mysql登录密码 -d 以守护进程运行(后台运行) 最后的mysql是镜像名称
  • 进入容器命令:
docker exec -it 4336ae28fbfa env LANG=C.UTF-8 /bin/bash

 

二、自己部署mysql数据库并初始化

  • 创建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','初二','女');insert into user values('3','小东','14','初一','男');
insert into user values('4','小西','12','初二','男');
  • dockerfifile
FROM mysql:5.7
WORKDIR /docker-entrypoint-initdb.d
ENV LANG=C.UTF-8
ADD init.sql .
  • 创建镜像

docker build -t my-mysql:5.7 .

  • 创建容器:

docker run --name some-mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=mysql123 -d my-mysql:5.7

  • 进入容器:

docker exec -it 01514811 /bin/bash

  • 连接mysql:

mysql -uroot -pmysql123

mysql> show databases;